Jawaban:
Solusinya menggunakan odt2txt
. Sekarang, perintah ini disediakan oleh dua paket berbeda, yaitu satu yang dipanggil odt2txt
yang dapat Anda instal
sudo apt-get install odt2txt
dan oleh paket unoconv
(yang juga menawarkan konversi baris perintah antara lebih banyak format libreoffice), yang diinstal oleh
sudo apt-get install unoconv
Jika Anda memiliki keduanya, Anda dapat beralih di antara mereka menggunakan mekanisme alternatif :
sudo update-alternatives --config odt2txt
Jika Anda menggunakan yang odt2txt
disediakan oleh paket odt2txt
yang baru saja Anda gunakan
odt2txt file.odt
jika menggunakan unoconv
paket yang disediakan Anda harus menggunakan
odt2txt --stdout file.odt
Pipa mereka untuk less
memiliki pengalaman yang kurang suka ( odt2txt file.odt | less
)
Perhatikan bahwa jika Anda tidak menggunakan --stdout
opsi, paket yang disediakan unoconv akan menulis hasilnya dalam file bernama file.txt
.
Paket yang disarankan oleh distribusi tampaknya adalah odt2txt
paket dari paket tersebut (memiliki prioritas standar yang lebih tinggi dalam sistem alternatif); pastinya ia kurang memiliki ketergantungan.
unoconv
, seperti yang saya temukan, adalah ingin menginstal versi Libre Office yang lebih lama jika Anda menginstal yang lebih baru. Karena itu, pertahankan sudo apt install odt2txt
.
update-alternatives
, terima kasih.
Anda dapat menelusuri teks tanpa utilitas khusus. File ODT adalah arsip zip berganti nama. Unzip dan Anda akan melihat beberapa file. Salah satunya, content.xml
berisi semua teks dan more
atau less
dibaca.
odt2txt file.odt
kode sumber dan zip kerja compilebale dapat diunduh di sini:
https://github.com/dstosberg/odt2txt/
atau dipasang oleh
sudo apt-get install odt2txt
Anda tidak dapat cat
atau less
atau more
file .odt karena ini file biner. Sebenarnya - seperti yang dikatakan sebelumnya - arsip .zip berganti nama, jadi Anda harus mengekstrak content.xml
file, tetapi itu, seperti yang disiratkan, adalah dokumen XML, jadi Anda harus memprosesnya untuk mengekstraksi informasi darinya.
odt2txt
paket dan berperilaku sebagaimana mestinya.