Skip to content

Tip #13: Dateien mit gleichen Namensbestandteilen löschen

Ich habe in einem Verzeichnis verschiedene Dateien:

jens@tacop:~/ > ls
abc.bar+bar abc.bar+foo abc.foo+bar abc.foo+baz abc.foo+foo

Nun möchte ich alle Dateien löschen, die vor und nach dem + das gleiche Wort haben, in dem Beispiel also abc.bar+bar und abc.foo+foo. Ich hatte die Hoffnung, dass das die zsh von Haus aus können könnte. Auf der Mailingliste zsh-users erhielt ich die erlösende Antwort:

rm *(e:’[[ $REPLY = abc.(#b)(???)+(???) ]] && [[ $match[1] = $match[2] ]]’:)
cronjob