Recursief bestanden verwijderen in Linux.

Het probleem:

Hoe verwijderen we -bijvoorbeeld- M3U bestanden uit een folder tree?

De oplossing:

Daarvoor gebruiken we find, een commandline tool voor een linux shell.

find . -name *.m3u -delete

Hier is ‘find' de naam van het commando, ‘.’ (punt) staat voor “start zoeken vanuit de huidige directory”, ‘*.M3U' is het zoekpatroon, en tenslotte gebruiken we de optie ‘-delete' om de gevonden bestanden te verwijderen.

Zoek een file inclusief padnaam.

Om te zoeken in de 23GB muziek collectie word dit gebruikt:

cellie@cellie-Desktop:/media/storage/music/Singles$ find . -iname "*Mess *" -type f -print

Hier word gezocht naar ‘*Mess *’ en dat levert de volgende output op:

./2011/01 - januari/Remute - Mess Hypnosis.mp3
cellie@cellie-Desktop:/media/storage/music/Singles$

Let op! Hierboven word gezocht in . oftewel de huidige directory. Het resultaat is dan ook een relatieve link.
Wil je de absolute locatie terugkrijgen gebruik dan ook een absoluut zoekpad:

cellie@cellie-Desktop:/media/storage/music/Singles$ find /media/storage/music/Singles/ -iname "*Mess *" -type f -print
/media/storage/music/Singles/2011/01 - januari/Remute - Mess Hypnosis.mp3
cellie@cellie-Desktop:/media/storage/music/Singles$