-
Notifications
You must be signed in to change notification settings - Fork 1
/
rae
138 lines (107 loc) · 4.68 KB
/
rae
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
#!/bin/bash
#0.14
#verificar si el directorio ./rae existe
[[ ! -d .rae/ ]] && mkdir .rae/
# Conjugaciones #
if [ "$1" = "-c" ]; then
in="$2"
elinks -no-numbering -no-references -dump "https://dle.rae.es/"${in} > .rae/.pa.txt
sed -n '/Conjugación de/,$p' .rae/.pa.txt > .rae/.pb.txt
sed '/Todos los derechos reservados/q0' .rae/.pb.txt > .rae/.pc.txt
cat .rae/.pc.txt
# Palabras segun primeras letras #
else if [ "$1" = "-e" ]; then
in="$2"
fu="?m=31"
elinks -no-numbering -no-references -dump "https://dle.rae.es/"${in}${fu} > .rae/.contiene.txt
sed -e '1,/Consultar ]/ d' .rae/.contiene.txt > .rae/.pa.txt
sed '/Todos los derechos reservados/q0' .rae/.pa.txt
# Palabras segun ultimas letras #
else if [ "$1" = "-t" ]; then
in="$2"
fu="?m=32"
elinks -no-numbering -no-references -dump "https://dle.rae.es/"${in}${fu} > .rae/.contiene.txt
sed -e '1,/Consultar ]/ d' .rae/.contiene.txt > .rae/.pa.txt
sed '/Todos los derechos reservados/q0' .rae/.pa.txt
# Palabras segun ultimas letras #
else if [ "$1" = "-C" ]; then
in="$2"
fu="?m=33"
elinks -no-numbering -no-references -dump "https://dle.rae.es/"${in}${fu} > .rae/.contiene.txt
sed -e '1,/Consultar ]/ d' .rae/.contiene.txt > .rae/.pa.txt
sed '/Todos los derechos reservados/q0' .rae/.pa.txt
# Ayuda #
else if [ "$1" = "--ayuda" ]; then
cat <<-ayuda
RAE-CLI 0.14, el Diccionario de la Real Academia Española desde la terminal.
Ejemplos: rae azul
rae -C ada
Posibles usos en la versión 0.14:
rae [PALABRA], muestra la primera definición de la palabra.
rae -td [PALABRA], muestra todas las definiciones de la palabra e información adicional.
rae -p, muestra la palabra del dia.
rae -A, muestra la definicion de una palabra aleatoriamente.
rae -a [PALABRA], muestra anagramas de la palabra.
rae -C [LETRAS], muestra palabras que contengan las letras introducidas.
rae -e [LETRAS], muestra palabras que empiecen con las letras introducidas.
rae -t [LETRAS], muestra palabras que terminen con las letras introducidas.
rae -c [PALABRA], muestra las posibles conjugaciones de la palabra.
rae --ayuda, muestra esta pantalla.
Todas las definiciones son propiedad de la Real Academia Española.
Envíe información sobre errores y sugerencias a <[email protected]>.
ayuda
# Sin Argumentos #
else if [ "$1" = "" ]; then
cat <<-noarg
Se requieren argumentos para usar este script.
Intenta «rae --ayuda» para mas información
noarg
# Anagramas #
else if [ "$1" = "-a" ]; then
in="$2"
fu="?m=anagram"
elinks -no-numbering -no-references -dump "https://dle.rae.es/"${in}${fu} > .rae/.anagrama.txt
sed -e '1,/Consultar ]/ d' .rae/.anagrama.txt > .rae/.pa.txt
sed '/Todos los derechos reservados/q0' .rae/.pa.txt
# Aleatorio #
else if [ "$1" = "-A" ]; then
elinks -no-numbering -no-references -dump "https://dle.rae.es/?m=random" > .rae/.random.txt
sed -e '1,/Consultar ]/ d' .rae/.random.txt > .rae/.pa.txt
sed '/Conjugación de/,$d' .rae/.pa.txt > .rae/.pb.txt ##bora las conjugaciones si estan presentes
sed '/Todos los derechos reservados/q0' .rae/.pb.txt
# Palabra del Dia #
else if [ "$1" = "-p" ]; then
pdd=`elinks -dump -no-numbering -no-references "https://dle.rae.es/?m=wotd"`
limpio=$(echo $pdd | sed -n 's/.*Palabra del día \(.*\) \(lunes\|martes\|miércoles\|jueves\|viernes\|sábado\|domingo\).*/\1/p')
elinks -no-numbering -no-references -dump "https://dle.rae.es/"${limpio} > .rae/.pa.txt
sed -e '1,/Consultar ]/ d' .rae/.pa.txt > .rae/.pb.txt
sed '/Conjugación de/,$d' .rae/.pb.txt > .rae/.pc.txt ##bora las conjugaciones si estan presentes
sed '/Todos los derechos reservados/q0' .rae/.pc.txt > .rae/.pd.txt
cat .rae/.pd.txt
# Todas las Definiciones #
else if [ "$1" = "-td" ]; then
in="$2"
elinks -no-numbering -no-references -dump "https://dle.rae.es/"${in} > .rae/.pa.txt
sed -e '1,/Consultar ]/ d' .rae/.pa.txt > .rae/.pb.txt
sed '/Conjugación de/,$d' .rae/.pb.txt > .rae/.pc.txt ##bora las conjugaciones si estan presentes
sed '/Todos los derechos reservados/q0' .rae/.pc.txt > .rae/.pd.txt
cat .rae/.pd.txt
# Una sola definición #
else if [ "$1" != "" ]; then
in="$1"
elinks -no-numbering -no-references -dump "https://dle.rae.es/"${in} > .rae/.pa.txt
sed -e '1,/Consultar ]/ d' .rae/.pa.txt > .rae/.pb.txt
sed '/2./,$d' .rae/.pb.txt > .rae/.pc.txt
sed '/Todos los derechos reservados/q0' .rae/.pc.txt > .rae/.pd.txt
echo "
Real Academia Española © Todos los derechos reservados
">> .rae/.pd.txt
cat .rae/.pd.txt
p=`awk 'NR==1 {print; exit}' .rae/.pc.txt`
p2=`cat .rae/.pc.txt`
if [ "$p" = "$p2" ]; then
cat <<-nores
No se encontraron resultados, la palabra puede no estar registrada o haber sido introducida
sin la ortografia correcta.
nores
fi fi fi fi fi fi fi fi fi fi fi fi