find、exec、およびgrepからファイル形式を除外する方法は?

find、exec、およびgrepからファイル形式を除外する方法は?

「TRACE_WANTED」フラグを使用するファイルを見つけようとします。ただし、ファインダーが.cと.hでこのフラグを検索したくありません。ファインダーを*.cから除外するにはどうすればよいですか?および *.h ファイル。

これは私が使用する一般的なコマンドです。

find ./ -iname  *.c -exec grep -iHrn  TRACE_WANTED {} \;

ベストアンサー1

GNUはgrep組み込みの再帰検索からglobを除外できます。努力する:

grep -iHrn  --exclude='*.c' --exclude='*.h' TRACE_WANTED

これは、コマンドと同様に、現在のディレクトリから始まり、再帰的に検索されますfind。すべてのファイル*.cを除外します*.h

おすすめ記事