Bash, Dateien, Dateien umbenennen, Positionen wechseln
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-14
an das Ende des Dateinamens.
Vielen Dank.
Antworten
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, mv
und bash
ich würde mit einer for-Schleife und geht bash
builtin BRE - Matching.
for i in *.mp4; do \
[[ $i =~ ^sluno-(.*)-call-(.*).mp4 ]] && \ mv -- "$i" "sluno-call-${BASH_REMATCH[2]}-${BASH_REMATCH[1]}.mp4"; \
done
Verwendung rename
:
rename -n 's/^(.*?)-(.*?)-(.*?)(\.mp4)$/$1-$3-$2$4/' *.mp4
Entfernen Sie das, -n
wenn Sie mit der Ausgabe zufrieden sind.
Zur Erklärung besuchen Sie diese .
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.