User Tools

Site Tools


informatica:linux:diccionarios:catala

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
informatica:linux:diccionarios:catala [2022/02/28 10:04] joseinformatica:linux:diccionarios:catala [2022/02/28 21:40] (current) jose
Line 1: Line 1:
 +====== 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 Descarreguem totes les paraules de https://dlc.iec.cat
  
Line 22: Line 30:
 Al web surt així Al web surt així
 {{:informatica:linux:diccionarios:alesiat.png|}} {{: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 >:
 +<code>
 +<div id="Definition" class="resultDefinition">
 +<h2 xmlns:fo="http://www.w3.org/1999/XSL/Format">
 +<span class="title">
 +silf 
 +</span><span class="title">
 +sílfide 
 +</span>
 +</code>
 +
 +Qeuda així:
 +<code>
 +                
 +div id="Definition" class="resultDefinition"
 +
 +h2 xmlns:fo="http://www.w3.org/1999/XSL/Format"
 +
 +span class="title"
 +silf 
 +/span
 +
 +</code>
 +
 +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" amb aquesta consulta ens dona la segona part de la línia, la de "-ada"
-  grep 'class="title">-' 0043250|sed -e 's/^.*title">\([^ ]*\).*$/\1/'+  grep 'id="Definition"' 0043250|sed -e 's/^.*title">\([^ ]*\).*$/\1/'
  
 <code> <code>
 -ada -ada
 </code> </code>
 +
 +
 +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:
 +<code>
 +-adelf -adelfa 
 +-agog -agoga 
 +-àlgic -àlgica 
 +-àmbul -àmbula 
 +-andre -andra 
 +</code>
 +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: ======
 +
 +<code>
 +#!/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'}) 
 +
 +</code>
 +
informatica/linux/diccionarios/catala.1646042652.txt.gz · Last modified: 2022/02/28 10:04 by jose