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/' *

Tobi

Hallo, mein Name ist Tobias und ich habe diesen Blog im April 2009 ins Leben gerufen. Seitdem blogge ich hier über Software, Internet, Windows und andere Themen, die mich interessieren. SSDblog ist mein zweiter Blog, indem es rund um das Thema SSDs geht. Ich würde mich freuen, wenn ihr meinen Feed abonniert oder mir auf Twitter, Facebook, Google+ und Google+ (privat) folgt.

5 Antworten

  1. Tash sagt:

    Was ist denn daran rekursiv? Schaut für mich iterativ aus…
    Gruß

    • Tobi sagt:

      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 😉

  2. javex sagt:

    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.

  3. tux. sagt:

    Als würden Linuxanwender heutzutage mit der Shell arbeiten. Klickibunti-verwöhnter Haufen.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.