Frage

Ich habe Tausende von Dateien, die ich mit folgendem Format umbenennen müssen. 2008: 09: 18: 17: 45:. 48 alphanumerischer-alfanumeric.wav der erste Teil ist ein Datum

Ex. 2008: 09: 18: 17: 45: 48-703-s.wav

A umbenennen möchten es an:

20080918.174548.703.s.wav

‚:‘ Und ein für Menschen lesbares Format zu machen und leichter zu spalten

Grundsätzlich ist das zu entfernen.

Ich weiß, dass Umbenennungs ist das, was im suchen, aber die Regex nicht funktioniert. Ich eingeben:

  

Umbenennungs   ‚S / (\ d): (\ d): (\ d): (\ d): (\ d): - (.?) - (\ d) wav / 1 2 3 $ $ $ $ 4 (.?). $ 5 $ 6 $ 7 $ 8.wav /‘   ./*

War es hilfreich?

Lösung

Sie müssen Mannigfaltigkeiten beachten:

rename 's/(\d+)\:(\d+)\:(\d+)\:(\d+)\:(\d+)\:(\d+)-(.*)-(.?).wav/$1$2$3.$4$5$6.$7.$8.wav/' ./*

Andere Tipps

rename 's/(\d+):(\d+):(\d+):(\d+):(\d+):(\d+)-([^-]+)-([^.]+).wav/$1$2$3.$4$5$6.$7.$8.wav/' ./*

sollte verwendet werden - in Ihrer Version Sie immer nur eine Ziffer entsprechen. Plus, keine Notwendigkeit zu entkommen das.

Ist dies etwas, das Sie nur einmal tun würde, würde ich es auf diese Weise tun:

1) ls die Dateien in eine neue Datei: ls datadir> mytmp 2) bearbeiten, um die mytmp mit Ihrem bevorzugten Editor.   2a löschen Sie alle Zeilen, die keine Datendateien, die Sie interessieren sind, wie „“ und ".."   2b jede Zeile in einen Shell-Befehl bearbeiten, um die Datei umzubenennen. Ich mag Emacs, und      bauen würde eine Tastatur Makro: den Dateinamen Clip einfügen: „mv“, legen Sie die      Dateiname, Einführraum, legen Sie die Dateinamen erneut bearbeiten, um die Dateinamen eingefügt in      das gewünschte Format.   2c sparen 3) laufen sh

Fertig! Nicht elegant, langweilig, wenn Ihr Editor unterstützt keine Makros oder eine ähnliche Funktionalität, aber garantiert arbeiten und git-er-getan.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top