Odpowiedzi:
Rozwiązanie używa odt2txt
. Teraz to polecenie jest dostarczane przez dwa różne pakiety, a mianowicie jeden odt2txt
, z którego można zainstalować
sudo apt-get install odt2txt
oraz pakiet unoconv
(który oferuje również konwersje z wiersza polecenia między większą liczbą formatów libreoffice), który jest instalowany przez
sudo apt-get install unoconv
Jeśli masz dwa, możesz przełączać się między nimi za pomocą alternatywnego mechanizmu :
sudo update-alternatives --config odt2txt
Jeśli korzystasz z odt2txt
dostarczonego pakietu, odt2txt
którego właśnie używasz
odt2txt file.odt
jeśli korzystasz z unoconv
dostarczonego pakietu, musisz użyć
odt2txt --stdout file.odt
Ruruj je, aby less
mieć mniej podobne wrażenia ( odt2txt file.odt | less
)
Zauważ, że jeśli nie użyjesz tej --stdout
opcji, pakiet dostarczony przez unoconv zapisze wynik w pliku o nazwie file.txt
.
Sugerowany pakiet przez dystrybucję wydaje się być tym z odt2txt
pakietu (ma wyższy domyślny priorytet w alternatywnym systemie); na pewno ma mniej zależności.
unoconv
, jak odkryłem, polega na tym, że chce zainstalować starszą wersję Libre Office, jeśli masz zainstalowaną nowszą. Dlatego trzymaj się sudo apt install odt2txt
.
update-alternatives
, dziękuję.
Możesz przeglądać tekst bez specjalnego narzędzia. Plik ODT to archiwum zip o zmienionej nazwie. Rozpakuj go, a zobaczysz kilka plików. Jeden z nich content.xml
zawiera cały tekst i jest more
lub jest less
czytelny.
odt2txt file.odt
kod źródłowy i działający zip kompilebale można pobrać tutaj:
https://github.com/dstosberg/odt2txt/
lub zainstalowany przez
sudo apt-get install odt2txt
Nie można cat
lub less
czy more
.odt pliku, ponieważ jest to plik binarny. To tak naprawdę - jak powiedziano wcześniej - przemianowane archiwum .zip, więc musisz wyodrębnić content.xml
plik, ale jak sugeruje, jest to dokument XML, więc musisz go przetworzyć jako taki, aby wyodrębnić z niego informacje.
odt2txt
pakiet i działa on tak, jak powinien.