如何列出多个文件中的字数?

Joh*_*cen 10 command-line bash

假设我需要找出每个文件中有多少个包含“工作”一词的单词。

我知道要找到其中包含“工作”的文件,它将是ls work. 并找出单词的数量wc -w

但是我尝试了这个,它似乎只是显示文件数,而不是所有文件中组合的单词数(我需要):

ls work | wc -w
Run Code Online (Sandbox Code Playgroud)

因此,如果有 14 个文件遵循“工作”先决条件,它将显示 14,而不是字数。

Ger*_*mar 17

语法是wc -w [FILE]. 如果您不使用 FILE 而是在ls work它的输出中使用管道,则只会计算它将在 stdin 上读取的内容。

您需要输入文本本身:

cat *work* | wc -w
Run Code Online (Sandbox Code Playgroud)

您可以wc使用find -exec. 但请注意,这可能会显示多个“总”和,如果有很多文件,find则会wc多次调用。

find ./ -type f -name "*work*" -exec wc -w {} +
Run Code Online (Sandbox Code Playgroud)