Como "cat" ou "less" um arquivo .odt do escritor libreoffice?

25

Existe uma maneira do arquivo cat ou less a .odt ser usado como antiword para arquivos .doc?

    
por Avio 07.11.2014 / 12:27

4 respostas

34

A solução está usando odt2txt . Agora, este comando é fornecido por dois pacotes diferentes, um chamado odt2txt que 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 libreoffice) , que é 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 odt2txt fornecido pelo pacote odt2txt , use apenas

odt2txt file.odt

se estiver usando o pacote unoconv fornecido, você precisará usar

odt2txt --stdout file.odt

Canalize-os para less para ter uma experiência menos semelhante ( odt2txt file.odt | less )

Observe que, se você não usar a opção --stdout , o pacote fornecido pelo unoconv gravará o resultado em um arquivo chamado file.txt .

O pacote sugerido pela distribuição parece ser o do pacote odt2txt (ele tem uma prioridade padrão maior no sistema alternativo); com certeza tem menos dependências.

    
por Rmano 07.11.2014 / 12:34
6

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.xml contém todo o texto e é more ou less legível.

    
por Barafu Albino 07.11.2014 / 14:00
5

odt2txt file.odt

o código-fonte e o zip de trabalho compilebale podem ser baixados aqui:

link

ou instalado por sudo apt-get install odt2txt

    
por Ruslan Gerasimov 07.11.2014 / 12:44
1

Você não pode cat ou less ou more an .odt porque é um arquivo binário. É realmente - como foi dito anteriormente - um arquivo .zip renomeado, então você tem que extrair o arquivo content.xml , mas isso, como implica, é um documento XML, então você tem que processá-lo para extrair as informações disso.

    
por Paul Robinson 08.11.2014 / 15:50