スペースを節約するために、Musicフォルダからすべての.jpgファイルを削除したい。私の音楽フォルダにはサブフォルダが含まれています。レベルに関係なく、これらすべてのフォルダからすべての.jpgファイルを削除するコマンドがあるかどうかを知りたいです。ご協力いただきありがとうございます!
最も簡単な方法(Ubuntuデスクトップを使用している場合):
NautilusのMusicフォルダーに移動し、を押します Ctrl+F .jpg
を検索します。
そして、それを削除します
場所を変更して、検索をより具体的にすることもできます。
検索後、より具体的に.jpg
緑色のボタンSelect File type Picture
をクリックして、検索からjpg
を削除します.
ドット&reload
.jpg .png .gif
のような画像ファイルとPicture Format
にある他のすべてのファイルを検索します
コマンドラインの迅速でクリーンなソリューションは
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
(および)ファイルはjpg
とpng
の両方で同時に終わることはできません。
これはそれを行う必要があります
Sudo rm -rf -d ~/Music/*.JPG
musicフォルダ内のすべての.JPGファイルが削除されます。
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