User Tools

Site Tools


grep_sobre_ficheros_office_docx_y_xlsx_en_terminal

Obtener el texto de ficheros docx y xlsx (MS Office) desde terminal

Los documentos Office docx xlsx deben ser transformados para poder obtener su contenido como texto claro. Para buscar qué ficheros contienen X cadenas, por ejemplo con grep, posiblemente nos valdría con descomprimir (unzip) los documentos y sobre los mismos usar grep.

unzip fichero.docx
unzip fichero.xlsx

Si se quiere obtener los textos de una manera menos engorrosa y más clara, se puede hacer uso de estas dos aplicaciones para pasar los archivos .docx a texto claro y los ficheros Excel .xlsx al formato csv.

# xlsx2csv (pip install xlsx2csv).
xlsx2csv file.xlsx 
 
# docx2txt (Suele encontrarse en los repositorios).
docx2txt < infile.docx
docx2txt < infile.docx > outfile.txt

Comandos para obtener en formato texto (Word) / csv (Excel) el contenido de ficheros docx y xlsx de todo un directorio /home/marta.

# Word.
find /home/marta/ -name "*.xlsx" -exec echo -e '\n'############  {} \; -exec xlsx2csv {} \;
# Excel.
find /home/marta/ -name "*.docx" -exec echo -e '\n'############  {} \; -exec sh -c 'docx2txt < "{}"' \;

Ahora es simple filtrar la salida con grep o redirigirla a un fichero cualquiera. El uso del comando “echo” del ejemplo facilita identificar el fichero al que pertenece la salida.

grep_sobre_ficheros_office_docx_y_xlsx_en_terminal.txt · Last modified: 2020/12/25 22:57 by 127.0.0.1