====== Comandes: ====== Busca si una PARAULA existeix: curl -X POST --data "DecEntradaText=$PARAULA" "https://dlc.iec.cat/Results" També es pot buscar amb el post a la url però falla amb caràcters especials com à,è,ç,l·l,ü.... curl -s "https://dlc.iec.cat/Results?DecEntradaText=$PARAULA"|grep "1 registres" Buscar per ID: https://dlc.iec.cat/Results/PrintAccepcio?id=$ID Descarreguem totes les paraules de https://dlc.iec.cat Primer fem consulta de totes les paraules que comencen per unes lletres. Aqui falten paraules, sobretot els femenins, com alesiada Hem tronar alesiat que té l'id 0043250 Si busquem aquest id amb la comanda: https://dlc.iec.cat/Results/PrintAccepcio?id=0043250 Ens dona:

alesiat -ada


adj. [LC] [MD] Espatllat, inutilitzat, en alguna part del cos. Estar nafrat o alesiat d’algun dels seus membres.
Ens fixem en aquesta part: alesiat -ada Al web surt així {{:informatica:linux:diccionarios:alesiat.png|}} Amb aquesta consulta treiem tots els resultats: grep 'id="Definition"' 0* |awk -F '<|>' '{for(i=1;i<=NF-2;i++) if ( $i ~ /title/ ) printf $i" - "$(i+1)"\n"}' grep 'id="Definition"' 0* |awk -F '<|>' '{for(i=1;i<=NF-2;i++) if ( $i ~ /title/ ) print $(i+1)}' Explicació: - amb awk -F '<|>' treiem el que hi ha entre < i >:

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'})