.h
使用する必要があるすべてのファイルを見つけるには、次のことを知っています。
find . -name "*.h"
.h
しかし、すべてのAND.cpp
ファイルを見つける方法は?
find . -name \*.h -print -o -name \*.cpp -print
また
find . \( -name \*.h -o -name \*.cpp \) -print
find -name "*.h" -or -name "*.cpp"
(フォーマットとして解釈されたアスタリスクを保護するために編集)
Paul Tomblin はすでに素晴らしい回答を提供していますが、私はあなたがしていることにパターンがあると思いました.
ある日、find を使用して grep で処理するファイル リストを生成する可能性があります。そのようなタスクには、はるかにユーザー フレンドリーなツールAckが存在します。
perl をサポートするすべてのシステムで動作し、ディレクトリ内のすべての C++ 関連ファイルを再帰的に特定の文字列を検索するのは次のように簡単です。
ack "int\s+foo" --cpp
"--cpp"
デフォルトで一致.cpp .cc .cxx .m .hpp .hh .h .hxx
するファイル
(また、デフォルトでリポジトリ ディレクトリをスキップするため、たまたまその中のファイルのように見えるファイルには一致しません。)
find
この短い形式で使用できます。
find \( -name '*.cpp' -o -name '*.h' \) -print
-print
省略可能です。-o
複数のタイプのファイルを検索し、1 つの同じジョブ (たとえば、md5sum の計算など) を実行する場合は、式の間だけを使用すると特に便利です。
find . -regex ".*\.[cChH]\(pp\)?" -print
これはcygwinでうまくテストされました。