foo=
ディレクトリツリーのテキストファイルで文字列を探しています。それは一般的なLinuxマシン上にあり、私はbashシェルを持っています:
grep -ircl "foo=" *
ディレクトリには、 "foo ="に一致する多くのバイナリファイルもあります。これらの結果は関連性がなく、検索が遅くなるため、grepでこれらのファイル(主にJPEGおよびPNG画像)の検索をスキップするようにします。どうすればいいですか?
--exclude=PATTERN
と--include=PATTERN
オプションがあることはわかっていますが、パターンの形式は何ですか?grepのmanページにはこう書かれています:
--include=PATTERN Recurse in directories only searching file matching PATTERN.
--exclude=PATTERN Recurse in directories skip file matching PATTERN.
上の検索grepを含める、含め除外のgrep、除外GREPおよび変異体は、関連する何かを見つけることができませんでした
特定のファイルでのみgrepを実行するより良い方法がある場合は、それで十分です。問題のあるファイルを移動することはできません。特定のディレクトリだけを検索することはできません(ディレクトリ構造はすべての場所にあり、非常に混乱しています)。また、何もインストールできないため、一般的なツール(grepや推奨されるfindなど)を使用する必要があります。
--exclude-dir=.svn
なので、grepはそれらにまったく入りません
grep -r --exclude-dir=var "pattern" .