我有一个 svn 本地副本,我想在字符串 some_string 上进行搜索。
$ grep some_string * -r
lang/en:some_string=Some string
lang/.svn/en:some_string=Some string
Run Code Online (Sandbox Code Playgroud)
但是,如果再进一步,似乎排除了一级隐藏目录:
$ cd lang && grep some_string * -r
en:some_string=Some string
Run Code Online (Sandbox Code Playgroud)
如何从我的输出中删除隐藏的 svn 目录,而不仅仅是从第一个深度级别?
$ grep some_string * -r --which_option_here?
lang/en:some_string=Some string
Run Code Online (Sandbox Code Playgroud)
jim*_*mij 30
使用--exclude-dir
选项,例如:
grep -r --exclude-dir='.*' some_string
Run Code Online (Sandbox Code Playgroud)
来自man grep
:
--exclude-dir=DIR
Exclude directories matching the pattern DIR from recursive searches.
Run Code Online (Sandbox Code Playgroud)
但是请注意,该--exclude-dir
选项仅在 GNU grep 中可用。如果您grep
不支持它,您可能需要使用其他工具作为 find例如:
find . \( -name .svn -prune \) -o -name "*" -exec grep -H "some_string" {} 2>/dev/null \;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
16249 次 |
最近记录: |