trocar campos em nomes de arquivos

trocar campos em nomes de arquivos

Como posso fazer a seguinte alteração nos nomes dos arquivos. Suponho que isso seja possível com rename, mas não sei como.

A_B_C.pdf

para

C_A_B.pdf

A, Be Csão palavras diferentes em meus nomes de arquivos, como Complete_Works_Plato.pdf, por exemplo.

Responder1

rename -n 's/([^_]*_[^_]*)_([^_]*).pdf/$2_$1.pdf/' *
  • [^_]*Qualquer número de não sublinhados.
  • ( )Captura um grupo. O 1º par é reproduzido por $1e o 2º par por $2.

Remova o -nse estiver satisfeito com o resultado.

Uma abordagem semelhante com shell script:

for file in *.pdf; do
    f12=${file%_*}
    f3=${file##*_}
    f3=${f3%.pdf}
    mv -- "$file" "${f3}_${f12}.pdf"
done

Emexpansão de parâmetrosvocê encontra o significado de %e ##.

informação relacionada