intercambiar campos en nombres de archivos

intercambiar campos en nombres de archivos

¿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

Ay son palabras diferentes en los nombres de mis archivos, como B, por ejemplo.CComplete_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 $1y el segundo par por $2.

Elimine el -nsi 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 ##.

información relacionada