使用 `wc` 命令计算 LibreOffice/OpenOffice 中的字符数/单词数/行数(使用终端)

使用 `wc` 命令计算 LibreOffice/OpenOffice 中的字符数/单词数/行数(使用终端)

wc用于计数的命令不能直接用于 Office 文件。

例如,我创建了一个 writer.odt文件,并在其中写入了 7 个字。然后我尝试wc -w file.odt输出 136,这完全不合逻辑。

如果您在任何文件上尝试上述操作,就不会wc -w遇到问题。

现在我的问题是如何使用wcLibre/OpenOffice 命令?

答案1

更新:您可以使用libreoffice默认安装的将文件转换为纯文本文件,然后使用以下命令计算字符/单词/行数wc

计算字符数:

libreoffice --headless --convert-to txt:Text <path_to_source_file> &> /dev/null && < <plaint_text_file_name> wc -c && rm test.txt

*<path_to_odt_file> = 源文件的路径;<plain_text_file_name> = 源文件的名称,扩展名替换为.txt

统计单词数:

libreoffice --headless --convert-to txt:Text <path_to_source_file> &> /dev/null && < <plaint_text_file_name> wc -w && rm test.txt

*<path_to_odt_file> = 源文件的路径;<plain_text_file_name> = 源文件的名称,扩展名替换为.txt

计算行数:

libreoffice --headless --convert-to txt:Text <path_to_source_file> &> /dev/null && < <plaint_text_file_name> wc -l && rm test.txt

*<path_to_odt_file> = 源文件的路径;<plain_text_file_name> = 源文件的名称,扩展名替换为.txt

答案2

我找到了这个命令:

计算单词数

unzip -p doc.odt content.xml | sed 's|<[^>]*>| |g' | wc -w

计算行数

unzip -p doc.odt content.xml | sed 's|<[^>]*>| |g' | wc -l

计算字符数

unzip -p doc.odt content.xml | sed 's|<[^>]*>| |g' | wc -c

答案3

还有独立的odt2txt(该unoconv套餐还提供odt2txt):

sudo apt-get install odt2txt
odt2txt foo.odt | wc -w

令人惊讶的是,Ubuntu 手册页缺少它的手册页。

相关内容