4

Recently, I converted my music files to a different format. I have for example a folder of an artist containing the different albums in separate folders. I would knowing if is there a way to delete *.mp3 files in all my album folders of an artist using a simple command? For example, if I use ~music/artist_a/album1$rm *.mp3 it delete all the mp3 files of only the folder album1, but I want to use a command that delete all the mp3's of album1, album2,... in the artist_a folder.

Thanks!

  • I would be very interested in an answer myself. Surprisingly, the -r option for rm only removes files in the top-level directory. – Christopher Kyle Horton Dec 3 '11 at 6:56
  • Jeje, I try to use, for example ´rm -r *.mp3´ but it's BAD X) – Brallan Aguilar Dec 3 '11 at 7:02
  • 1
    @WarriorIng64: given that the * expansion is done by the shell, rm only see a list of names, and delete them. If one of these names is a directory, the -r would indicate to remove the whole directory. – enzotib Dec 3 '11 at 7:03
8

If you go one level up, you can do:

~music/artist_a/album1$ cd ..
~music/artist_a$ rm */*.mp3

to delete mp3s from every directory inside the current. If you want to delete only from specific subdirectories:

~music/artist_a$ rm {album1,album2,album4}/*.mp3

You can also use find to delete all mp3 in subfolders of every level

~music/artist_a$ find . -iname '*.mp3' -delete

Use these command with caution.

  • Excellent information! All works OK. Thank you very much! – Brallan Aguilar Dec 3 '11 at 6:59
3

An alternative method you could use would be

find ~music/artist_a -name \*.mp3 -exec rm {} \;

(Source)

  • I found this solution is better if you want to delete files into a indefinite number of directories. It's a excellent solution and more general. – Brallan Aguilar Dec 3 '11 at 10:07

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.