catdoc parece funcionar recursivamente para .doc arquivos em 16.04: link
Não há menção a .docx , então você precisa descobrir isso sozinho.
Para os arquivos .ods ou .odt , você pode ter o seguinte script de cortesia kaibob @ ubuntuforums.org :
#!/bin/bash
find . -type f -name "*.od*" | while read i ; do
[ "" ] || { echo "You forgot search string!" ; exit 1 ; }
unzip -ca "$i" 2>/dev/null | grep -iq "$*"
if [ $? -eq 0 ] ; then
echo "string found in $i" | nl
fi
done
Digamos que você o chame de "libre-search" e o tenha tornado executável.
Em seguida, a execução de libre-search your_string deve listar os arquivos que contêm your_string .
unzip -ca "$i" 2>/dev/null cuida do conteúdo indesejado.
grep -iq torna a pesquisa insensível a maiúsculas e minúsculas.
nl numera a saída.