¿Cómo extraigo todas las palabras de todos los archivos en un directorio determinado para crear un diccionario? Las palabras deben ser diferentes entre sí (las letras en mayúsculas no se toman en consideración. Por ejemplo, carro=Coche), se escribirán con letras minúsculas en el diccionario (aunque originalmente tuvieran mayúsculas), se ordenarán alfabéticamente y cada línea del diccionario contendrá sólo una palabra. El diccionario estará en /home/dictionary.txt.
Respuesta1
Johnny, creo que lo que quieres hacer podría hacerse fácilmente en un script bash. Pero querrás estudiar sobre redirección, archivos de entrada...;Debería ponerte en marcha, con suerte. |Para obtener palabras o patrones...
Respuesta2
Depende en gran medida del contenido del directorio, pero... este debería ser al menos un muy buen comienzo si hablamos de archivos de texto plano en el directorio en cuestión.
cd
find $directory_name -type f -exec grep -o -E '\w+' {} \; | sort -u -f > out
tr '[:upper:]' '[:lower:]' < out > dictionary.txt
rm out
Sobre los interruptores, man $command
puedo exponer.
Eliminar números:sed 's/[0-9]*//g' dictionary.txt > a_different_file
Eliminar líneas en blanco:sed '/^$/d' dictionary.txt > some_other_file
Respuesta3
Puedes hacer esto con awk
awk 'BEGIN {RS=" "}; /^[A-Za-z]*$/ {print tolower ($0)}' ./* | sed 's_[.].*$__g' | sort -u
"print tolower" simplemente convierte a minúsculas (hace que sort -u funcione).
El sed elimina los puntos finales; es posible que necesite o no administrar otros símbolos según sus archivos de entrada.