![複数の拡張子で検索が -exec で動作しません。 [重複]](https://linux33.com/image/95397/%E8%A4%87%E6%95%B0%E3%81%AE%E6%8B%A1%E5%BC%B5%E5%AD%90%E3%81%A7%E6%A4%9C%E7%B4%A2%E3%81%8C%20-exec%20%E3%81%A7%E5%8B%95%E4%BD%9C%E3%81%97%E3%81%BE%E3%81%9B%E3%82%93%E3%80%82%20%5B%E9%87%8D%E8%A4%87%5D.png)
私は次のように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 {} \;