Bash, Dateien, Dateien umbenennen, Positionen wechseln

Dec 22 2020

So benennen Sie um

sluno-20201027-call-metroua-status.mp4
sluno-20201103-call-deriva.mp4
sluno-20201103-call-metroua-status.mp4
sluno-20201105-call-makrocz.mp4
sluno-20201105-call-metroua-testcall.mp4
sluno-20201105-call-sluno-ggtabak.mp4
sluno-20201110-call-makrocz.mp4
sluno-20201110-call-metroua-status.mp4
sluno-20201110-call-sluno-utccz.mp4

zu

sluno-call-metroua-status-20201027.mp4
sluno-call-deriva-20201103.mp4
sluno-call-metroua-status-20201103.mp4
sluno-call-makrocz-20201105.mp4
...

Verschieben Sie einfach Datum / Zeichenfolge an Position 7-14an das Ende des Dateinamens.

Vielen Dank.

Antworten

7 bac0n Dec 22 2020 at 22:04

mmv eignet sich gut zum unkomplizierten Umbenennen von Dateien .

mmv '*-*-*-*.mp4' '#1-#3-#4-#2.mp4'

Es kann auch hilfreich sein, weitere Referenzpunkte zu haben, um sicherzustellen, dass der Name nicht an einer anderen Stelle geändert wird, insbesondere wenn sich möglicherweise andere Dateien im selben Verzeichnis befinden.

mmv 'sluno-[0-9]*-call-[a-z]*.mp4' 'sluno-call-#3#4-#1#2.mp4'
             ^  ^        ^  ^
             1  2        3  4

sluno-20201027-call-metroua-status.mp4
      ^-------      ^-------------
      1   2         3       4

Wenn ich es mit dem absoluten Minimum zu tun war, mvund bashich würde mit einer for-Schleife und geht bashbuiltin BRE - Matching.

for i in *.mp4; do \
    [[ $i =~ ^sluno-(.*)-call-(.*).mp4 ]] && \ mv -- "$i" "sluno-call-${BASH_REMATCH[2]}-${BASH_REMATCH[1]}.mp4"; \
done
4 pLumo Dec 22 2020 at 20:46

Verwendung rename:

rename -n 's/^(.*?)-(.*?)-(.*?)(\.mp4)$/$1-$3-$2$4/' *.mp4

Entfernen Sie das, -nwenn Sie mit der Ausgabe zufrieden sind.

Zur Erklärung besuchen Sie diese .

JohnP Dec 30 2020 at 01:47

Andere Option:

$ qmv {Muster}

Es werden 2 Spalten mit Dateinamen in den Editor Ihrer Wahl eingefügt.

Ändern Sie die rechte Spalte, um die gewünschten Dateinamen zu erhalten.

Die linke Spalte ist der ursprüngliche Name. Die Startspalte der rechten Gruppe kann nicht geändert werden, sodass der automatische Umbruch möglicherweise im Weg steht.

In den Händen eines Experten mit jedem Editor kann dies schnell verrückt werden, insbesondere für VIM-Spalten- und visuelle Modi.

Im Allgemeinen verwende ich Umbenennen, aber für komplexe Anforderungen ist es hilfreich, die genauen Namen im Editor zu sehen.