Existe uma maneira cat
ou less
um arquivo .odt da mesma forma antiword
que para arquivos .doc?
Existe uma maneira cat
ou less
um arquivo .odt da mesma forma antiword
que para arquivos .doc?
A solução está usando odt2txt
. Agora, esse 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 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 odt2txt
fornecido pelo pacote, odt2txt
basta usar
odt2txt file.odt
se unoconv
você estiver usando o pacote fornecido, precisará usar
odt2txt --stdout file.odt
Faça com que eles less
tenham uma experiência menos parecida ( odt2txt file.odt | less
)
Observe que, se você não usar a --stdout
opção, o pacote fornecido por unoconv gravará o resultado em um arquivo chamado file.txt
.
O pacote sugerido pela distribuição parece ser o odt2txt
pacote (ele tem uma prioridade padrão mais alta no sistema alternativo); com certeza tem menos dependências.
odt2txt
pacote e ele se comporta como deveria.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 comsudo 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.xml
contém todo o texto e émore
ouless
legível.fonte
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
fonte
Você não pode
cat
ouless
oumore
um arquivo .odt porque é um arquivo binário. Na verdade, é - como foi dito anteriormente - um arquivo .zip renomeado, então você precisa extrair ocontent.xml
arquivo, mas, como implica, é um documento XML, então você deve processá-lo para extrair as informações.fonte