Respostas:
A solução está usando odt2txt. Agora, esse comando é fornecido por dois pacotes diferentes, um chamado odt2txtque você pode instalar com
sudo apt-get install odt2txt
e pelo pacote unoconv(que também oferece conversões de linha de comando entre mais formatos do libreoffice), instalado por
sudo apt-get install unoconv
Se você tiver os dois, poderá alternar entre eles usando o mecanismo alternativo :
sudo update-alternatives --config odt2txt
Se você estiver usando o odt2txtfornecido pelo pacote, odt2txtbasta usar
odt2txt file.odt
se unoconvvocê estiver usando o pacote fornecido, precisará usar
odt2txt --stdout file.odt
Faça com que eles lesstenham uma experiência menos parecida ( odt2txt file.odt | less)
Observe que, se você não usar a --stdoutopção, o pacote fornecido por unoconv gravará o resultado em um arquivo chamado file.txt.
O pacote sugerido pela distribuição parece ser o odt2txtpacote (ele tem uma prioridade padrão mais alta no sistema alternativo); com certeza tem menos dependências.
unoconv, como eu descobri, é que ele deseja instalar uma versão mais antiga do Libre Office, se você tiver uma mais nova instalada. Portanto, fique com sudo apt install odt2txt.
update-alternatives, obrigado.
Você pode navegar pelo texto sem nenhum utilitário especial. O arquivo ODT é um arquivo zip renomeado. Descompacte-o e você verá vários arquivos. Um deles, content.xmlcontém todo o texto e é moreou lesslegível.
odt2txt file.odt
o código-fonte e o zip de trabalho da compilebal podem ser baixados aqui:
https://github.com/dstosberg/odt2txt/
ou instalado por
sudo apt-get install odt2txt
Você não pode catou lessou moreum arquivo .odt porque é um arquivo binário. Na verdade, é - como foi dito anteriormente - um arquivo .zip renomeado, então você precisa extrair o content.xmlarquivo, mas, como implica, é um documento XML, então você deve processá-lo para extrair as informações.
odt2txtpacote e ele se comporta como deveria.