lunes, 7 de noviembre de 2011

Buscar definiciones de palabras desde consola. RAE y WordReference

Este script es lo más útil que he visto en los últimos días. Gracias a jsa_ en la página www.esdebian.org para buscar la definición de una palabra en el diccionario online de la rae o wordreference ya no hace falta ni abrir el navegador.





Con escribir (en mi caso) rae-search palabra ya te da las definiciones de palabra en el diccionario de la RAE. Lo mismo con wr-search palabra para el diccionario de wordreference.




Para que estos scripts sean efectivos nos hace falta tener instalado html2text y wget:

  • sudo apt-get install html2text wget

Y ahora los scripts. Para crear la orden por consola:

1º. Copiamos los scripts siguientes en el editor de textos preferido (gedit por ejemplo). Hay que crear un documento por cada script.

SCRIPT DE LA RAE:

#!/bin/bash
# buscador múltiple del diccionario de la RAE
# introducir rae seguido de los terminos a buscar en inglés

echo RESULTADOS DE BUSQUEDA DE:
echo $@
for i
do
echo -e ++++++++++++++++++++++++++++++++++++++++++++
echo -e Diccionario RAE: $i
echo -e ++++++++++++++++++++++++++++++++++++++++++++"\n"
wget buscon.rae.es/draeI/SrvltGUIBusUsual\?LEMA=$i\&origen=RAE\&TIPO_BUS=3 -q -U mozilla -O rae$i
html2text -utf8 -o rae$i.txt rae$i
cat rae$i.txt|head -n 24
rm rae$i rae$i.txt
done



SCRIPT DE WORDREFERENCE:


#!/bin/bash
# buscador múltiple de word reference
# introducir wr seguido de los terminos a buscar en inglés



echo RESULTADOS DE BUSQUEDA DE:
echo $@
for i
do
echo -e ++++++++++++++++++++++++++++++++++++++++++++
echo -e WORD REFERENCE: $i
echo -e ++++++++++++++++++++++++++++++++++++++++++++"\n"
wget http://wordreference.com/es/translation.asp\?tranword=$i\&dict=enes\&B10=Search -U mozilla -q -O wordref$i
html2text -utf8 -o wordref$i.txt wordref$i
cat wordref$i.txt|tail -n +20|head -n 20
rm wordref$i wordref$i.txt
done


Los guardamos. El de la RAE como rae-search.sh y el de wordreference como wr-search.sh.

2º. Les damos permisos de ejecución
  • sudo chmod +x rae-search.sh wr-search.sh
3º. Comprobamos que funcionan:
  • ./rae-search palabraquequierasbuscar
4º. Los movemos a una carpeta del PATH
  • sudo cp rae-search.sh /usr/bin/
  • sudo cp wr-search.sh /usr/bin/
5º. Ya está todo. Ahora con escribir en terminal:
  • rae-search palabra
te buscará la definición de la palabra y sacará por pantalla algo así:

RESULTADOS DE BUSQUEDA DE:
palabra
++++++++++++++++++++++++++++++++++++++++++++
Diccionario RAE: palabra
++++++++++++++++++++++++++++++++++++++++++++

[Ver_artículo_enmendado]palabra.
(Del lat. parabŏla).
1. f. Segmento del discurso unificado habitualmente por el acento, el
significado y pausas potenciales inicial y final.
2. f. Representación gráfica de la palabra hablada.
3. f. Facultad de hablar.
4. f. Aptitud oratoria.
5. f. Empeño que hace alguien de su fe y probidad en testimonio de lo que
afirma.
6. f. Promesa u oferta.
7. f. Derecho, turno para hablar en las asambleas políticas y otras
corporaciones. Pedir, conceder, tener, retirar la palabra; hacer uso de la
palabra.
8. f. U. con las partículas no o ni y un verbo sirve para dar más fuerza a la
negación de lo que el verbo significa. Con la partícula no se pospone al verbo,
y con la partícula ni algunas veces se antepone. No logré entender palabra.
9. f. ant. Dicho, razón, sentencia, parábola.
10. f. ant. Metal de la voz.
11. f. pl.  palabras que constituyen la forma de los sacramentos a distinción
de su materia.
 buenas~s.
 1. f. pl.  Expresiones o promesas corteses, dichas con intención de agradar y
convencer. Al final, todo se quedó en buenas palabras.
 cuatro,odos,~s.


El script está pensado para que puedas poner varias palabras una seguida de la otra. Así que puedes buscar tantas como quieras.

Si quieres que se guarde en un fichero de texto la salida solo tienes que redirigir la salida hacia el fichero que quieras:
  • rae-search palabra > definicionpalabra.txt
Y si quieres que se guarde siempre en un fichero de texto sólo tienes que borrar la línea de "rm " que está justo antes del "done". Se guardará como raepalabra.txt

Y eso es todo. MUY útil para el día a día sin duda.

Un saludo. 

3 comentarios:

  1. Más fácil, para palabras en español (hay que cambiar las comillas francesas por mayor y menor porque sino no me deja comentar acá):

    #!/bin/sh
    for word in "$@"
    do
    echo $word;
    wget -U mozilla --random-wait -q -O - "http://www.wordreference.com/definicion/$word" | grep -oP "«ol class='entry'».*«/ol»" | sed "s/:«br»/: /g" | html2text -utf8 -width 300;
    done

    Para en inglés:

    #!/bin/sh
    for word in "$@"
    do
    echo $word;
    wget -U mozilla --random-wait -q -O - "http://www.wordreference.com/definition/$word" | grep -oP "«ol class='senses'».*«/ol»" | sed "s/:«br»/: /g" | html2text -utf8 -width 300;
    done

    ResponderEliminar
  2. Otra alterantiva que he usado, con sus ventajas y desventajas, es usar la herramienta canónica para esta finalidad en consola: dict, con la fuente RAE offline obtenida de google code, Proyecto «tokland».

    ResponderEliminar