问题描述:- 我有一个包含很多文本文件的文件夹。我想在该文件夹的所有文件中搜索一个特定的字符串说“string_example”。然后我应该得到总数。所有文件中包含字符串“string_example”的行数。这意味着如果第一个文本文件中有 5 个匹配行,第二个文本文件中有 10 个匹配行,第三个文本文件中有 3 个匹配行。那么输出应该是 5+10+3=18
我尝试过的:- 我在网上冲浪并找到了一些命令,例如
grep -r -n ".string_example".
此 bash 命令将打印文件名以及包含字符串“string_example”的行的行号。这里是示例输出以便更好地理解
第一个文件:1:string_example 在那里
第一个文件:2:string_example 不存在
第二个文件:1:string_example 在那里
etc.......但是我想要的actaul输出是上面输出的3。
我还尝试了几个 bash 命令,但没有用。
我的问题:- 是否有用于此类目的的任何 bash 命令。如果没有,如何为以下要求编写脚本。
请帮帮我
最佳答案
您可以将 grep
与 wc -l
进行管道传输,以获取包含关键字的行数:
grep -r "string_example" . | wc -l
关于linux - 如何获得否。与文件夹中所有文件中的字符串匹配的行数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26561550/