我有一个充满 .doc 或 .docx 文件的文件夹。我想知道每个文件中有多少个单词(或者,如果不行的话,字符或行),而无需打开每个文件。 (用例:我是一名助教,每周需要对大量阅读答案进行评分才能完成。)
有什么方法可以从命令行执行此操作吗?我最终希望将所有这些都保存在 .csv 文件中。我很高兴下载一些实用程序来执行此操作。
我运行 Arch linux,如果这很重要的话。
答案1
抱歉,我以为我忘了在开头添加这段代码:
cp -Rp doument_directory document_directory.orig
cd document_directory
for file in *
do
docx2txt "${file}" > "${file}.txt" && mv "${file}.txt" "${file}.doc"
done
如果您的系统没有 docx2txt 实用程序,您可以从http://sourceforge.net/projects/docx2txt/
买者自负:MS Word 文档的换行符格式可能(而且很可能)与 UNIX 的换行符格式不同。因此,行数可能不准确,但是,这些应该可以满足您的要求:
wc file.doc
你会看到这样的输出:
28 377 1492
第一个数字是行数,第二个数字是字数,第三个数字是字符数。
如果您只想一次进行一种类型的计数,您可以执行以下操作:
对于行数
wc -l file.doc
对于字数
wc -w file.doc
对于字符数
wc -c file.doc
您将得到一个数字,后跟文件名。
答案2
上面提到的使用 pandoc 的建议对我来说效果很好:
pandoc foo.docx | wc
与 MS Word 所说的准确度在 +/- 2 以内。