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 odt2txtdostarczonego pakietu, odt2txtktórego właśnie używasz
odt2txt file.odt
jeśli korzystasz z unoconvdostarczonego pakietu, musisz użyć
odt2txt --stdout file.odt
Ruruj je, aby lessmieć mniej podobne wrażenia ( odt2txt file.odt | less)
Zauważ, że jeśli nie użyjesz tej --stdoutopcji, pakiet dostarczony przez unoconv zapisze wynik w pliku o nazwie file.txt.
Sugerowany pakiet przez dystrybucję wydaje się być tym z odt2txtpakietu (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.xmlzawiera cały tekst i jest morelub jest lessczytelny.
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 catlub lessczy more.odt pliku, ponieważ jest to plik binarny. To tak naprawdę - jak powiedziano wcześniej - przemianowane archiwum .zip, więc musisz wyodrębnić content.xmlplik, ale jak sugeruje, jest to dokument XML, więc musisz go przetworzyć jako taki, aby wyodrębnić z niego informacje.
odt2txtpakiet i działa on tak, jak powinien.