![Suchen Sie eine Zeichenfolge im Namen und bewegen Sie sich an die Stelle des Namens vor der Erweiterung](https://rvso.com/image/898936/Suchen%20Sie%20eine%20Zeichenfolge%20im%20Namen%20und%20bewegen%20Sie%20sich%20an%20die%20Stelle%20des%20Namens%20vor%20der%20Erweiterung.png)
ich habe viele Dateien in verschiedenen Unterverzeichnissen. Ich möchte alle Dateien umbenennen
*-ABC-DE(7 numbers).ext
in
*-DE(7 numbers)-ABC.ext
Ist es möglich?
Antwort1
Gegeben
$ ls *.ext
bar-ABC-DE7654321.ext foo-ABC-DE1234567.ext
Dann
$ rename -v 's/(ABC)-(DE\d{7})/$2-$1/' *.ext
rename(bar-ABC-DE7654321.ext, bar-DE7654321-ABC.ext)
rename(foo-ABC-DE1234567.ext, foo-DE1234567-ABC.ext)
ergebend
$ ls *.ext
bar-DE7654321-ABC.ext foo-DE1234567-ABC.ext
NB-Test mit -n
dem ersten