2013-08-21 80 views
1

我是linux新手,在問這裏之前我使用了它,但是我找不到關於grep --exclude的線索。所以我想知道下面的行是什麼?在此先感謝在Linux上的grep命令(特別是grep --exclude)

grep --exclude=\*.svn\* -r REVISION 1.0.0.8/*1.0.0.8.config > 1.0.0.8-REVISION.txt 

解決BY MYSELF

搜索修訂的 「1.0.0.8/*1.0.0.8.config」 文件exluding的.svn文件和輸出發送到1.0.0.8,Revision.txt

+0

你在問下面的行是什麼?不確定你的問題到底是什麼。 –

+0

@MalcolmJones是的,你說的對。 – caesar

回答

0

你可以在手冊頁here找到grep

什麼不排除:

--exclude = PATTERN:

  • 遞歸在目錄中跳過的文件匹配模式。

您的命令將搜索,遞歸,所有目錄中,跳過文件模式 「* *的.svn」 和搜索文件模式「1.0.0.8/*1.0.0.8.config> 1.0.0.8-REVISION.txt 「

+0

讓我糾正如果我錯了。在我的情況下,grep會查看.svn目錄中的所有目錄,但是爲了什麼? – caesar

+0

@Eday我編輯了答案,但我沒有跑它來測試它。所以你應該做一些grep命令來獲取它的掛起。讓我知道,如果我寫的東西是錯誤的,所以我會修復答案 –

+0

REVISION在-r之後意味着什麼? – caesar

1

要通過目錄grep的同時排除各種文件類型(與.svn文件前綴你的榜樣任何東西),你可能要做到以下幾點:

grep -r "SOMETHING" --exclude="*.svn*" /path/to/directory > 1.0.0.8-REVISION.txt 2>&1 

這將通過所有文件的grep目錄中的遞歸,然後將匹配發布到名爲1.0.0.8-REVISION.txt的文件,該文件位於相對於您curr的位置一直在尋找。

如果您提供了更多的信息,確切地說您正在嘗試grep/find,我可以更新我的答案,這些東西將完全適用於您的案例。

+0

所以在我的情況下,grep會考慮REVISION「1.0.0.8/*1.0.0.8.config」,但爲什麼?我對嗎 ?? @馬爾科姆·瓊斯 – caesar