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/' *
Sie sehen gerade einen Platzhalterinhalt von X. Um auf den eigentlichen Inhalt zuzugreifen, klicken Sie auf die Schaltfläche unten. Bitte beachten Sie, dass dabei Daten an Drittanbieter weitergegeben werden.
Mehr Informationen
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.