Ответы:
Решение использует 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
пакет, и он ведет себя как следует.