【ファイル操作】特定のファイル以外を全て削除

やりたいこと

たくさんのファイルがあるディレクトリ内で、特定のファイルだけ残してあと全部削除したい

コマンド

file1.png, file2.png, file3.pngのみ残して全て削除したい場合

find . -type f ! \( -name 'file1.png' -o -name 'file2.png' -o -name 'file3.png' \) -exec rm -f {} +

cd [ディレクトリパス]してから上記を実行

メモ

-oは論理「OR」を表すオペレータです。findコマンド内で複数の条件を組み合わせる際に用います。具体的には、-name ‘file1.png’ -o -name ‘file2.png’という形で、file1.pngまたはfile2.pngという名前のいずれかに一致するファイルを対象とします。

コメント

タイトルとURLをコピーしました