在构建站点检查器的过程中,我遇到了一个问题,如果代码中包含某些字符串,则客户端需要检查其所有页面中是否包含某些字符串,然后列出尚未包含该代码的文件。
尝试了多个grep命令,但没有成功。 -v
应该导出结果的反向匹配,但这不会发生。目前,我缺少代码告诉grep仅在所有子文件夹中的特定文件(例如文件名code.php
)中进行搜索的部分。
使用当前代码,它会搜索所有文件,甚至是不必要的文件。
grep -vrn '.' -e "SRING" > list.txt
我想导出一个文件列表(最好是仅检查具有相同名称的所有子文件夹中的文件),而不会引起我的麻烦。
答案 0 :(得分:0)
grep -c STRING files
将为您提供每个文件中STRING
的行数。
您可以使用-m1
在第一场比赛后停止比赛。
您可以通过管道传输sed来获取匹配项为零的文件:
grep -cm1 STRING files | sed -n '/:0$/s/:0//p'
每行可为您提供一个文件。
您可以将其传送到xargs
,以将其合并为单行列表。
如果您的STRING
只是正则表达式而不是正则表达式,则可以将-F
标志与grep一起使用,以指定它是固定的字符串,这样也可以加快速度。所以也许...
grep -Fcm1 STRING files | sed -n '/:0$/s/:0//p' > list.txt
...在这种情况下