
Wie kann ich die folgenden Änderungen an Dateinamen vornehmen? Ich nehme an, dass dies mit möglich ist rename
, aber ich weiß nicht wie.
A_B_C.pdf
Zu
C_A_B.pdf
A
, B
und C
in meinen Dateinamen sind verschiedene Wörter, wie Complete_Works_Plato.pdf
zum Beispiel .
Antwort1
rename -n 's/([^_]*_[^_]*)_([^_]*).pdf/$2_$1.pdf/' *
[^_]*
Beliebig viele Zeichen, die keine Unterstriche sind.( )
Erfasst eine Gruppe. Das 1. Paar wird durch$1
und das 2. Paar durch reproduziert$2
.
Entfernen Sie es -n
, wenn Sie mit der Ausgabe zufrieden sind.
Ein ähnlicher Ansatz mit Shell-Skript:
for file in *.pdf; do
f12=${file%_*}
f3=${file##*_}
f3=${f3%.pdf}
mv -- "$file" "${f3}_${f12}.pdf"
done
InParametererweiterungSie finden die Bedeutung von %
und ##
.