web-dev-qa-db-ja.com

フォルダーとそのすべてのサブフォルダーから特定の拡張子を持つすべてのファイルを削除する方法は?

スペースを節約するために、Musicフォルダからすべての.jpgファイルを削除したい。私の音楽フォルダにはサブフォルダが含まれています。レベルに関係なく、これらすべてのフォルダからすべての.jpgファイルを削除するコマンドがあるかどうかを知りたいです。ご協力いただきありがとうございます!

18
Tigull

最も簡単な方法(Ubuntuデスクトップを使用している場合):

NautilusのMusicフォルダーに移動し、を押します Ctrl+F .jpgを検索します。

enter image description here そして、それを削除します


場所を変更して、検索をより具体的にすることもできます。

enter image description here


更新しました

検索後、より具体的に.jpg緑色のボタンSelect File type Pictureをクリックして、検索からjpgを削除します.ドット&reload

.jpg .png .gifのような画像ファイルとPicture Formatにある他のすべてのファイルを検索します

enter image description here

9
One Zero

コマンドラインの迅速でクリーンなソリューションは

cd <dir>
find . -type f -iname \*.jpg -delete
  • .は、現在のフォルダーで検索を開始するように指示します。
  • -type fは、findにファイルの検索のみを指示します。
  • -inameは、大文字と小文字を区別せずに検索します。
  • -deleteは、見つかったすべてのファイルを削除/削除するようfindに指示します。

注意!-deleteがコマンドに含まれている場合に削除されるファイルのリストを取得するには、最初に-deleteを指定せずにコマンドを実行することをお勧めします。意図しないもの。

findの使用方法とその機能の詳細については、man findを参照してください

-deleteが使用されている場合、findは出力を生成しないことに注意してください。

複数の拡張機能に関するコメントについて

find . -type f \( -name \*jpg -o -name \*png \) -delete

  • ( .. )グループ式。シェルからエスケープする必要があるため、例では\( .. \)
  • -o logicalまたは

したがって、上記の例は、名前の末尾にjpgまたはpngのいずれかが含まれるファイルに一致します。同じ方法でさらに拡張機能を追加できます。 -oが指定されていない場合、すべての-nameステートメントの間に-oを忘れないようにしてくださいfindはデフォルトで-a(および)ファイルはjpgpngの両方で同時に終わることはできません。

60
Zoke

これはそれを行う必要があります

Sudo rm -rf -d ~/Music/*.JPG

musicフォルダ内のすべての.JPGファイルが削除されます。

6
Ringtail

Bashのshopt -s globstarは、ここで再帰的なグロビングに役立ちます。

bash-4.3$ tree
.
├── 10.jpg
└── subfolder
    ├── 5.jpg
    └── another_subfolder
        └── 15.jpg

2 directories, 3 files
bash-4.3$ shopt -s globstar
bash-4.3$ rm ./**/*.jpg
bash-4.3$ tree
.
└── subfolder
    └── another_subfolder
0