[英]get count of the word in all files
我有一个目录树,其中有一堆文件夹和子文件夹,在那些子文件夹中有一堆文件。 我需要获取每个文件中的“ Hello”一词的计数,并将结果显示为“文件'a'具有'Hello'n次”,'文件'b'具有'Hello'm次',依此类推。 我如何在Linux中编写脚本,以便可以在每个这些文件中获得单词hello的单词计数。 在通过net浏览后,我尝试了一些与'wc'的grep组合,但这给了我所有文件夹中所有文件的总数。
谢谢
尝试这样的事情:
find . -type f | xargs -n1 grep "Hello" -c
添加-type f
find
可确保它仅返回文件,而不返回目录。 在xargs
添加-n1
可以使find
返回的每个文件都具有自己的grep
调用,以便可以获取每个文件的计数。 grep
的-c
参数返回匹配计数,而不是每个匹配。
上面的表达式将计算其中包含“ Hello”的行数。 如果您需要Hello的总数,而不只是其中包含Hello的行数,则需要做一些更复杂的事情。 您可以在grep上使用-o
选项来仅打印一行的匹配部分,然后将其与wc -l
结合使用以获取总出现次数。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.