
¿Cómo puedo hacer el siguiente cambio en los nombres de los archivos? Supongo que esto es posible con rename
, pero no sé cómo.
A_B_C.pdf
a
C_A_B.pdf
A
y son palabras diferentes en los nombres de mis archivos, como B
, por ejemplo.C
Complete_Works_Plato.pdf
Respuesta1
rename -n 's/([^_]*_[^_]*)_([^_]*).pdf/$2_$1.pdf/' *
[^_]*
Cualquier número de caracteres que no sean guiones bajos.( )
Captura un grupo. El primer par es reproducido por$1
y el segundo par por$2
.
Elimine el -n
si está satisfecho con el resultado.
Un enfoque similar con el script de shell:
for file in *.pdf; do
f12=${file%_*}
f3=${file##*_}
f3=${f3%.pdf}
mv -- "$file" "${f3}_${f12}.pdf"
done
Enexpansión de parámetrosencuentras el significado de %
y ##
.