当前目录或子目录中的grep exclude-dir

时间:2015-07-17 18:10:45

标签: regex bash grep

我正在尝试设置GREP_OPTIONS以始终排除某些目录(例如target/classes)。我特意试图让它适用于递归greps。当前目录包含--exclude-dir=target/classes时,使用target/classes可以很好地工作,但当我在父目录中时则不行。我目前的解决方案要求我同时设置--exclude-dir=target/classes--exclude-dir=*/target/classes。我正在寻找更直接的解决方案,我认为这将涉及正则表达式。我已经尝试了--exclude-dir=(*/)?target/classes和其他排列,但我无法让它发挥作用。

是的,我确信这可以通过其他工具(例如find,awk等)完成,但我真的希望将此限制(如果可能的话)保留到GREP_OPTIONS解决方案。< / p>

1 个答案:

答案 0 :(得分:0)

这是一个经过测试的工作示例,请注意语法,而不是拼写错误:

root/dspace# grep -r --exclude-dir={log,assetstore} "creativecommons.org"

上面我的文字&#34; creativecommons.org&#34;在当前目录&#34; dspace&#34;并排除dirs {log,assetstore}。

完成。