Відповіді:
Рішення використовується 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пакунок, і він поводиться як слід.