Ответы:
Решение использует 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
Исходный код и компилируемый рабочий zip можно скачать здесь:
https://github.com/dstosberg/odt2txt/
или установлен
sudo apt-get install odt2txt
Вы не можете catили lessили more.odt файл, потому что это двоичный файл. На самом деле - как уже было сказано ранее - переименованный архив .zip, поэтому вы должны извлечь content.xmlфайл, но это, как следует из этого, является XML-документом, поэтому вы должны обработать его как таковой, чтобы извлечь из него информацию.
odt2txtпакет, и он ведет себя как следует.