Depois da recuperação dos dados numa pen e com milhares de ficheiros no formato doc e docx, com nomes sem qualquer significado, deparamo-nos com a árdua tarefa de encontrar apenas aquele documento de que necessitamos.
Uma primeira opção será a utilização do comando grep:
grep -rni "cadeia_de_carateres_a_pequisar" /caminho/para/a/pasta/onde/se/encontram/os/documentos/*
Provavelmente ver-nos-emos na situação de não conseguirmos encontrar todos os ficheiros onde a expressão de pesquisa se encontra por uma questão de diferenças entre a codificação de carateres do sistema e dos documentos em causa.
No entanto temos no debian duas ferramentas que permitem lidar com a conversão de ficheiros no formato doc e docx para txt, catdoc e docx2txt, respetivamente.
Para operar num ficheiro podemos executar, para ficheiros doc:
catdoc -b /caminho/para/a/pasta/onde/se/encontram/os/documentos/nome_do_ficheiro.doc > nome_do_ficheiro.txt
como resultado iremos obter um novo ficheiro de texto com o nome nome_do_ficheiro.txt.
Para ficheiros docx:
docx2txt /caminho/para/a/pasta/onde/se/encontram/os/documentos/nome_do_ficheiro.doc
como resultado iremos obter um novo ficheiro de texto com o mesmo nome do original e extensão txt.
Para operar num lote de ficheiros podemos criar dois scripts com o conteúdo que se segue e fazê-los executáveis:
#!/bin/bash
# Usage: remove all utility bills pdf file password
shopt -s nullglob
for f in /caminho/para/a/pasta/onde/se/encontram/os/documentos/*.doc
do
echo "convertendo - $f"
catdoc -b "$f" > "${f%.doc}.txt"
done
#!/bin/bash
# Usage: remove all utility bills pdf file password
shopt -s nullglob
for f in /caminho/para/a/pasta/onde/se/encontram/os/documentos/*.docx
do
echo "convertendo - $f"
docx2txt "$f"
done
https://www.cyberciti.biz/faq/bash-loop-over-file/
https://stackoverflow.com/questions/1224766/how-do-i-rename-the-extensi…
http://www.wagner.pp.ru/~vitus/software/catdoc/
https://www.flickr.com/photos/xmodulo/12394393265