svnのローカルコピーがあり、some_string文字列を検索したいと思います。
$ grep some_string * -r
lang/en:some_string=Some string
lang/.svn/en:some_string=Some string
しかし、さらに一歩進むと、隠されたディレクトリの最初のレベルが除外されるようです。
$ cd lang && grep some_string * -r
en:some_string=Some string
最初の深さレベルだけでなく、出力から隠されたsvnディレクトリをどのように削除できますか?
$ grep some_string * -r --which_option_here?
lang/en:some_string=Some string
ベストアンサー1
--exclude-dir
次のオプションを使用してください。
grep -r --exclude-dir='.*' some_string
からman grep
:
--exclude-dir=DIR
Exclude directories matching the pattern DIR from recursive searches.
ただし、この--exclude-dir
オプションはGNU grepでのみ使用できます。サポートしていない場合は、grep
findなどの他のツールを使用する必要があります。例えば:
find . \( -name .svn -prune \) -o -name "*" -exec grep -H "some_string" {} 2>/dev/null \;