我正在编写一个shell脚本,它在当前工作目录($ cwd)中查找某个文件类型($ ext)的字符串($ string)。
我还想排除包含某个字符串的所有文件(“mbundle”)。
我如何修改我所拥有的,做到这一点?
grep -nrwl $string --include=\*."$ext" "$cwd"
对不起,我对grep和regex / globbing模式等仍然很陌生
答案 0 :(得分:1)
如果您的grep
支持-P
(PCRE)选项,那么您可以使用negative lookahead
来避免匹配mbundle
:
grep -P -nrwl "(?!.*?mbundle)$string" --include=\*."$ext" "$cwd"