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:03] 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> 
 +-ada 
 +</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>
  
-  -ada 
informatica/linux/diccionarios/catala.1646042637.txt.gz · Last modified: 2022/02/28 10:03 by jose