Czy istnieje sposób cat
lub less
plik .odt tak samo jak antiword
pliki .doc?
Czy istnieje sposób cat
lub less
plik .odt tak samo jak antiword
pliki .doc?
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.
odt2txt
pakiet i działa on tak, jak powinien.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 jestmore
lub jestless
czytelny.źródło
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
źródło
Nie można
cat
lubless
czymore
.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.źródło