Jak utworzyć dokument tekstowy w formacie docx z terminalem

13

Wiem, że mogę łatwo utworzyć plik docx za pomocą libreOffice, ale chcę tylko dowiedzieć się więcej o korzystaniu z bash. Czy ktoś jest w stanie wyjaśnić, czy jest to w ogóle możliwe z terminalem? Polecenie dotykowe wykonuje przyzwoitą robotę, ale nie określa żadnego rozszerzenia.

Srebrny Błysk
źródło
3
Rozszerzenia plików nie mają tak naprawdę znaczenia w Ubuntu, więc jeśli masz touch file.docxplik docx. :) Co sprawia, że ​​plik docx jest dla Ciebie plikiem docx?
deser
6
touchpolecenie pozwala określić rozszerzenie; touch foo.docx, ale spowoduje to utworzenie pustego pliku. Czy tego chcesz? W przeciwnym razie loffice --convert-to docx foo.odtbędzie działać w terminalu.
waltinator,
4
@dessert docx to format pliku: Office Open XML
wjandrea
3
„Czy ktoś jest w stanie wyjaśnić, czy jest to w ogóle możliwe z terminalem?” FYI: odt, docx, xlsx są kontenerami. Możesz strzelać do nich z pistoletu i mieć wersję czytelną dla ludzi. Dobrze czytelny dla człowieka ... jest to xml i duży.
Rinzwind
3
Jeśli Twoim celem jest nauczenie się bash, nie jest to operacja bash. Używanie narzędzi innych firm w bash nie używa bash. Jeśli chcesz nauczyć się bash, spróbuj połączyć 2 lub więcej osobnych narzędzi w coś użytecznego. Nie potrzebujesz nawet bash, aby to zrobić.
Braiam

Odpowiedzi:

20

LibreOffice jest wyposażony w narzędzie wiersza polecenia o nazwie soffice, która libreofficewskazuje na to, narzędzie posiada --convert-toopcję, która pozwala łatwo konwertować pliki w taki sam sposób program GUI robi, na przykład:

libreoffice --convert-to docx file.txt

Spowoduje to utworzenie pliku file.docxw formacie Office Open XML Text w bieżącym katalogu.

Przykład użycia

$ 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
deser
źródło