Câu trả lời:
Cảm ơn tất cả các câu trả lời, tất cả mọi người. Với sự giúp đỡ của bạn, tôi đã có thể biên dịch một danh sách các lệnh có thể trích xuất số lượng trang từ hầu hết các tài liệu văn phòng có liên quan:
DOCX / PPTX
unzip -p 'sample.docx' docProps/app.xml | grep -oP '(?<=\<Pages\>).*(?=\</Pages\>)'
unzip -p 'sample.pptx' docProps/app.xml | grep -oP '(?<=\<Slides\>).*(?=\</Slides\>)'
Lưu ý : unzipcó thể được cài đặt với sudo apt-get install unzip.
DOC / PPT
wvSummary sample.doc | grep -oP '(?<=of Pages = )[ A-Za-z0-9]*'
wvSummary sample.ppt | grep -oP '(?<=of Slides = )[ A-Za-z0-9]*'
Lưu ý : wvSummary(phân biệt chữ hoa chữ thường!) Là một phần của wvgói. Cài đặt nó với sudo apt-get install wv.
ODT
unzip -p sample.odt meta.xml | grep -oP '(?<=page-count=")[ A-Za-z0-9]*'
pdfinfo sample.pdf | grep -oP '(?<=Pages: )[ A-Za-z0-9]*'
Lưu ý: pdfinfolà một phần poppler-utilsvà nên được cài đặt sẵn trên Ubuntu.
DJVU
djvused -e "n" sample.djvu
Lưu ý: djvusedlà một phần của djvulibre-bingói và có thể được cài đặt với sudo apt-get install djvulibre-bin.
unzip -p document.odt meta.xml | grep -o 'page-count="[0-9]*"'
Tôi không tìm cách trích xuất odtthông tin tệp như pdfinfovậy, nhưng bạn có thể tạo tập lệnh nhanh để sử dụng pdfinfovới các odttệp, chuyển đổi từng tệp odt thành PDF và sau đó xóa tệp đã chuyển đổi nếu bạn không sử dụng tệp đó:
libreoffice --headless --invisible --convert-to pdf sample.odt
pdfinfo sample.pdf | grep ^Pages:
rm sample.pdf
Hy vọng rằng điều này đã giúp bạn.