Como criar um documento do Word no formato docx com o terminal

13

Sei que posso criar facilmente um arquivo docx com o libreOffice, mas só quero aprender mais sobre o uso do bash. Alguém é capaz de explicar se é possível com o terminal? O comando touch faz um trabalho decente, mas não especifica nenhuma extensão.

Flash prateado
fonte
3
As extensões de arquivo realmente não importam no Ubuntu, então se touch file.docxvocê possui um arquivo docx. :) O que torna um arquivo docx um arquivo docx para você?
dessert
6
touchO comando permite especificar a extensão; touch foo.docx, mas isso criará um arquivo vazio. É isso que você quer? Caso contrário, loffice --convert-to docx foo.odtfuncionará em um terminal.
waltinator
4
@dessert docx é um formato de arquivo: Office Open XML
wjandrea
3
"Alguém é capaz de explicar se é possível com o terminal?" FYI: odt, docx, xlsx são contêineres. Você pode compactá-los e ter a versão legível por humanos. Bem legível por humanos ... é um xml e um grande.
Rinzwind
3
Se seu objetivo é aprender bash, essa não é uma operação do bash. O uso de ferramentas de terceiros no bash não está usando o bash. Se você quiser aprender o bash, tente combinar 2 ou mais ferramentas separadas em algo útil. Você nem precisa do bash para fazer isso.
Braiam 8/02/19

Respostas:

20

LibreOffice vem com uma ferramenta de linha de comando chamada sofficeque tem libreofficeapontando para ele, esta ferramenta tem uma --convert-toopção que permite que você facilmente converter arquivos da mesma forma o programa GUI faz, por exemplo:

libreoffice --convert-to docx file.txt

Isso cria o arquivo file.docxno formato Office Open XML Text no diretório atual.

Exemplo de uso

$ echo some text > file.txt
$ libreoffice --convert-to docx file.txt 

convert /home/dessert/file.txt -> /home/dessert/file.docx using filter : Office Open XML Text
$ file file.docx 
file.docx: Microsoft OOXML
sobremesa
fonte