2014-06-10 20 views
8

我想從grep中排除"*log*"./tags如何使用grep排除多重模式

我要做的就是:

grep -rI "PatternToSearch" ./path --exclude="*log*" 

或本:

grep -rI "PatternToSearch" ./path --exclude="tags" 

是有可能合併這兩個排除一個grep的模式?

+0

複製你也可以使用'find'詮釋它,喜歡的東西'找到。名稱./tags -prune -o -not -name「* log *」-exec grep -HI Pattern {} +' –

回答

3

再來--exclude <pattern>

grep -rI "PatternToSearch" --exclude="*log*" --exclude="tags" . 
+0

感謝@anubhava它的工作,但好奇地知道我是否有其他寫作方式 - 排除'只有一次 – DragonX

+1

不幸的是'--exclude'不允許正則表達式或擴展模式在單個選項中指定多於1個模式。 – anubhava

+2

您可以使用'--exclude = {* log *,tags}'忽略多於一個模式--exclude。 – Nancy