2013-08-21 76 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