-exec rm 複数のファイルを検索

-exec rm 複数のファイルを検索

findを使用して複数のファイルを検索し、を使用してすべてのファイルを削除したいと思います-exec。頑張った

find ./ -type f -name fileA -o -name fileB -exec rm {} \; 

ただし、これはfileAsではなく「fileB」ファイルのみを削除するようです。

答え1

-oアクションでも機能するため、アイテムをグループ化する必要があります。

find ./ -type f \( -name fileA -o -name fileB \) -exec rm {} \; 

ところで、find実装では以下をサポートすることもできます-delete

find ./ -type f \( -name fileA -o -name fileB \) -delete 

答え2

別のオプション:

 WARNING: it is possible that due to funny characters in directory names it is possible that unintended files might be deleted.

 find ./ -type f \( -name fileA -o -name fileB \) -print | xargs rm -f

または、可能であれば興味深い文字を含むファイルをキャプチャします。

 NOTE: On some systems -print0 and -0 options are not available.  But this would be the preferred and safer method)

 find ./ -type f \( -name fileA -o -name fileB \) -print0 | xargs -0 rm -f

関連情報