如何排除和包含在同一个grep中?

时间:2014-09-08 19:59:50

标签: regex bash

我正在编写一个shell脚本,它在当前工作目录($ cwd)中查找某个文件类型($ ext)的字符串($ string)。

我还想排除包含某个字符串的所有文件(“mbundle”)。

我如何修改我所拥有的,做到这一点?

grep -nrwl $string --include=\*."$ext" "$cwd"

对不起,我对grep和regex / globbing模式等仍然很陌生

1 个答案:

答案 0 :(得分:1)

如果您的grep支持-P(PCRE)选项,那么您可以使用negative lookahead来避免匹配mbundle

grep -P -nrwl "(?!.*?mbundle)$string" --include=\*."$ext" "$cwd"