silf
sílfide
Qeuda així:
div id="Definition" class="resultDefinition"
h2 xmlns:fo="http://www.w3.org/1999/XSL/Format"
span class="title"
silf
/span
El que fem es buscar quan un camp es **span class="title"** imprimim el següent
amb aquesta consulta ens dona la segona part de la línia, la de "-ada"
grep 'id="Definition"' 0043250|sed -e 's/^.*title">\([^ ]*\).*$/\1/'
-ada
Amb això treiem la primera i la segona definició:
grep 'id="Definition"' 0043250|awk -F'class="title">|<' {'print $5'}
alesiat
grep 'id="Definition"' 0043250|awk -F'class="title">|<' {'print $8'}
alesiada
Busquem amb awk que el paràmetre $8 comenci per - i escribim la paraula, que es el paràmetre 5 i el sufix que es el 8
grep 'id="Definition"' *|awk -F'class="title">|<' '{if ( $8 ~ /^-/ ) printf $5$8"\n"}'
Ens dona una llista com aquesta:
romandalusí -ina
reconegut -uda
-nervi -nèrvia
boreoalpí -ina
galileà -ana
glotalitzat -ada
este -a
morenc -a
A partir d'aqui busquem patrons, per exemple:
este -a
morenc -a
Seria este/esta i morenc/morena en un trec una lletra i en un altre no. Poter es si la paraunla acava amb vocal
Treiem tots els sufixos:
grep 'id="Definition"' *|awk -F'class="title">|<' '{if ( $8 ~ /^-/ ) printf $8"\n"}'|sort | uniq
Treiem sufixos de sufixos, es a dir:
-adelf -adelfa
-agog -agoga
-àlgic -àlgica
-àmbul -àmbula
-andre -andra
Treiem els que comencin amb - dient: $5 !~ /^-/
grep 'id="Definition"' *|awk -F'class="title">|<' '{if ( $8 ~ /^-/ && $5 !~ /^-/ ) printf $5 $8"\n"}'|wc -l
Busquem sufix -a i que la paraula acabi amb e:
grep 'id="Definition"' *|awk -F'class="title">|<' '{if ( $8 ~ /^-a / && $5 ~ /e $/ ) printf $5$8"\n"}'
O els que acaben amb vocal:
grep 'id="Definition"' *|awk -F'class="title">|<' '{if ( $8 ~ /^-a / && $5 ~ /[aeiou] $/ ) printf $5$8"\n"}'
====== Buscar definicions de sufixes: ======
#!/bin/bash
>paraules_amb_sufix
while read linea
do
paraula=`echo $linea |awk {'print $1'}`
sufix=`echo $linea |awk {'print $2'}| sed 's/[- ]//g'`
if [ $sufix == "a" ] || [ $sufix == "ana" ]
then
#si acaba amb consonant, no trec res i si acaba amb consonant trec 1 caràcter
echo ${paraula: -1}
echo ${paraula: -1} | grep [aeiou]
if [[ "`echo ${paraula: -1} | grep [aeiouàèìòùáéíóúäëïöüâêîôû]`" == "" ]]
then
echo "edípic-a"
let resta=0
else
let resta=1
fi
elif [ $sufix == "ina" ] || [ $sufix == "una" ] || [ $sufix == "ona" ] || [ $sufix == "ena" ]
then
let resta=1
elif [ $sufix == "ea" ] || [ $sufix == "issa" ] || [ $sufix == "essa" ] || [ $sufix == "ossa" ]
then
let resta=2
else
let resta=(${#sufix}-1)
fi
if [ $resta -eq 0 ]
then
echo ${paraula}$sufix" "${paraula}"-"${sufix} >> paraules_amb_sufix
else
echo ${paraula::-${resta}}$sufix" "${paraula}"-"${sufix} >> paraules_amb_sufix
fi
# echo
done < <( grep 'id="Definition"' *0 |awk -F'class="title">|<' '{if ( $8 ~ /^-/ && $5 !~ /^-/ ) printf $5 $8"\n"}')
while read linea
do
#abans treia les tildes perquè feia el POST a la mateixa URL, ara faig amb -X POST
#paraula=`echo $linea|sed 's/[àáä]/a/g' | sed 's/[èéë]/e/g'| sed 's/[ìíï]/i/g' | sed 's/[òóö]/o/g' | sed 's/[ùúü]/u/g' | sed 's/·//g'`
echo $lnea
until torify curl -s -o definicions_sufix/$linea -X POST --data "DecEntradaText=${linea}" "https://dlc.iec.cat/Results"
do
echo "Reiniciando"
sudo /etc/init.d/tor restart
done
done < <(cat paraules_amb_sufix |awk {'print $1'})