Dateien rekursiv umbenennen
Eine grafische Benutzeroberfläche ist schön und gut, aber viele Dinge lassen sich über die Shell einfacher regeln. Beispielsweise viele hundert Dateien mit der Endung “.htm” in einem Ordner nach “.html” umbenennen.
rename 's/\.html$/.xhtml/' *.html
Wenn im Dateinamen kein “htm” vorkommt, reicht auch folgender Befehl aus:
rename 's/JPG/jpg/' *
Was ist denn daran rekursiv? Schaut für mich iterativ aus…
Gruß
Irgendwie passen beide Begriffe nicht so ganz. Rekursiv hat sich für mich besser angehört, daher die Überschrift.
Falls du noch ne andere Alternative hast, immer her damit ;)
Hallo,
du machst es dir etwas umständlich: rename bringt von Haus aus schon pattern matching mit. Auszug aus der manpage:
rename .htm .html *.htm
Darüber hinaus gibt es “perl-rename”, auf manchen Distributionen ist es das Standard-rename, unter ArchLinux läuft es eben unter perl-rename. Das wiederum ist extrem mächtig und bittet regex-pattern-matching inkl. groups und co. Eben alles was in Perl auch geht.
Ich persönlich nutze meistens rename, seltener auch perl-rename.
find eigent sich wiederum genial um beliebige Befehle auf Dateien auszuführen.
Stimmt geht auch einfacher. Habe dan Artikel angepasst.
Als würden Linuxanwender heutzutage mit der Shell arbeiten. Klickibunti-verwöhnter Haufen.