我在文本文件中有一个模式列表,我使用bzgrep来匹配多个文件:
for pattern in $(cat ~/patterns.txt); do echo $pattern; bzgrep -i $pattern *.bz2; done
Run Code Online (Sandbox Code Playgroud)
如何使bzgrep(grep)在当前模式的第一次匹配后停止(我需要它完全停止,而不是停止当前文件被grep'ed)并继续下一个模式.我已经读过"-m 1"参数,但我认为它只会在当前文件上停止.有任何想法吗?
谢谢
for pattern in $(< ~/patterns.txt); do
echo "$pattern"
for i in *.bz2; do
bzgrep -i "$pattern" "$i" && break
done
done
Run Code Online (Sandbox Code Playgroud)
您可能希望向grep添加-H以显示filename:line而不仅仅是line.