スポンサーリンク
findの-nameオプションでor検索
※MACターミナル(BSD系)での動作確認です。
or検索する場合には、下記のように -or を使います。
$ find . -type f -name 2.c -or -name 3.h
実際に、サンプルファイルで試してみます。
まずは、下記のように、.cファイルと.hファイルを作成します。
参考:[シェル]連番でプレフィックス/サフィックスを付与してファイルをコピー
$ mkdir dir001 $ cd dir001/ $ for file in $(seq 4) > do > touch ${file}.c > touch ${file}.h > done $ ls 1.c 1.h 2.c 2.h 3.c 3.h 4.c 4.h $ cd ..
2.cと3.hファイルをor検索します。
下記が実行結果になります。
$ find . -type f -name 2.c -or -name 3.h ./dir001/2.c ./dir001/3.h
スポンサーリンク
ワイルドカードでor検索
ワイルドカードも便利です。
例えば、.cファイルと.hファイルをor検索します。
下記が実行結果になります。
$ find . -type f -name *\.c -or -name *\.h ./dir001/1.c ./dir001/1.h ./dir001/2.c ./dir001/2.h ./dir001/3.c ./dir001/3.h ./dir001/4.c ./dir001/4.h
findの-nameオプションでnot検索
最後に、not検索です。
下記のように、.cファイルだが、3.cファイルを除外する場合です。
下記が実行結果になります。
$ find . -type f -name *\.c -not -name 3.c
./dir001/1.c
./dir001/2.c
./dir001/4.c
スポンサーリンク