Como "catar" ou "menos" um arquivo .odt do gravador do libreoffice?

26

Existe uma maneira catou lessum arquivo .odt da mesma forma antiwordque para arquivos .doc?

Avio
fonte

Respostas:

35

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.

Rmano
fonte
Fantástico, obrigado! Sim, eu instalei o odt2txtpacote e ele se comporta como deveria.
Avio
O problema com 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.
Paddy Landau
@PaddyLandau Editei fortemente a resposta, obrigado pela dica.
Rmano 11/11
@Rmano Você também me ensinou update-alternatives, obrigado.
Paddy Landau
7

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.

Barafu Albino
fonte
2

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.

Paul Robinson
fonte