我使用以下命令在我的脚本中找到/ var some param
grep -R“param”/ var / * 2> / dev / null | grep -wq“param”
我的问题是:在grep中找到文件中的param grep继续搜索,直到/ var / *下的所有搜索都完成
如何在grep匹配参数词后立即执行停止
例如,当我运行: grep -R“param”/ var / * 2> / dev / null | grep -wq“param”
grep在一秒钟之后找到参数。
但是grep继续在其他文件上搜索其他相同的参数并且花费将近30秒
如何在参数匹配后立即停止grep?
THX
答案 0 :(得分:1)
你可以使用grep -m 1在第一场比赛后停止
答案 1 :(得分:0)
这样:
grep -R“param”/ var / * 2> / dev / null | grep -wq“param”|头-n 1
答案 2 :(得分:0)
如果您使用的是GNU grep,请尝试以下方法:
-m, --max-count=NUM stop after NUM matches
答案 3 :(得分:0)
grep有一个-m, - max-count选项:
$ grep -R "param" /var/* 2>/dev/null |grep -wq -m1 "param"
问题:为什么双重grep?如果你正在使用grep递归,为什么要尝试扩展?还要考虑-s到无声的烦人错误信息(我建议alto使用-n来打印匹配行,但对于-q似乎你不想输出):
$ grep -qsRw -m1 "param" /var