特定のファイル形式を除くすべてのファイルをgrepしたいですか?

特定のファイル形式を除くすべてのファイルをgrepしたいですか?

grep特定のフォルダでファイル(複数のファイル形式を除く)を繰り返すには?

たとえば、ワークスペースフォルダで文字列を探しているので、最終的にsqlファイルから検索して直列化された文字列を生成します。

grepしたがって、この場合はワークスペースフォルダ(sqlファイルを除く)が必要です。

可能であれば、1行を見つけることをお勧めします。

答え1

GNUがある場合は、次のようにこのオプションをgrep使用できます。--exclude=GLOB

grep -r --exclude='*.sql' pattern dir/

答え2

これにより、.sqlファイルと.txtファイルが除外されます。

find /some/dir -type f ! -name '*\.sql' ! -name '*.txt' -print0 | xargs -0 grep 'foobar'

しかし、それは次のように聞こえる確認するこれはあなたがしたいことのためのより良いツールになります:

ack -a --nosql 'foobar' /some/dir

関連情報