複数の拡張子の検索は -exec では機能しません

複数の拡張子の検索は -exec では機能しません

私は次のように find コマンドを使用しています:

find ./my_path -name "*.ext1" -exec echo {} \;

そしてそれはうまくいくでしょう。

複数の拡張子がある場合、次のコマンドは複数のファイルを表示します。

find ./my_path -name "*.ext1" -o -name "*.ext2" 

ただし、 を使用する場合-exec:

find ./my_path -name "*.ext1" -o -name "*.ext2" -exec echo {} \;

ファイルが表示されません。何が間違っているのでしょうか。2 番目の例と同じファイルが表示されるべきではないでしょうか。

答え1

フィルターをグループ化する必要があります:

find ./my_path \( -name "*.ext1" -o -name "*.ext2" \) -exec echo {} \;

関連情報