Відповіді:
Рішення використовується odt2txt
. Тепер ця команда надається двома різними пакетами, а саме тим, що називається, з odt2txt
яким ви можете встановити
sudo apt-get install odt2txt
і за допомогою пакету unoconv
(який також пропонує перетворення командного рядка між іншими форматами libreoffice), який встановлюється
sudo apt-get install unoconv
Якщо у вас є два, ви можете перемикатися між ними за допомогою альтернативного механізму :
sudo update-alternatives --config odt2txt
Якщо ви використовуєте odt2txt
наданий пакет, який odt2txt
ви просто використовуєте
odt2txt file.odt
якщо ви використовуєте unoconv
наданий пакет, який ви повинні використовувати
odt2txt --stdout file.odt
Труби їх less
мати менш схожий досвід ( odt2txt file.odt | less
)
Зауважте, що якщо ви не використовуєте цю --stdout
опцію, пакет, що надається unoconv, запише результат у файл, який називається file.txt
.
Запропонований розповсюдженням пакет, здається, є odt2txt
пакетом із цього пакету (він має вищий пріоритет за замовчуванням в альтернативній системі); напевно, це менше залежностей.
unoconv
я виявив, проблема полягає в тому, що вона хоче встановити старішу версію Libre Office, якщо у вас встановлена нова версія. Тому дотримуйтесь sudo apt install odt2txt
.
update-alternatives
, дякую.
Ви можете переглядати текст без будь-якої спеціальної утиліти. Файл ODT - це перейменований zip-архів. Розпакуйте його, і ви побачите кілька файлів. Один з них, content.xml
містить весь текст і є more
чи less
читаним.
odt2txt file.odt
вихідний код та робочий поштовий індекс для компіляції можна завантажити тут:
https://github.com/dstosberg/odt2txt/
або встановлено
sudo apt-get install odt2txt
Ви не можете cat
або less
або more
.odt файл, тому що це двійковий файл. Це насправді - як було сказано раніше - перейменований .zip архів, тому ви повинні витягнути content.xml
файл, але це, як випливає з цього, XML-документ, тому вам потрібно обробити його як такий, щоб витягнути інформацію з нього.
odt2txt
пакунок, і він поводиться як слід.