msoliver
(usa Debian)
Enviado em 09/03/2018 - 16:49h
jvictor88 escreveu:
Pessoal,
estou tentando renomear vários arquivos de fotos que possuem o padrão IMGXXXX, gostaria de renomear todos eles para um padrão tipo foto(1), foto(2), foto(3), foto(4).
Eu consegui usar o seguinte:
ls * | awk 'BEGIN{ a=0 }{ printf "mv %s myfotos_%04d\n", $0, a++ }' | bash
Eu executo este comando dentro do diretório onde estão as fotos.
Mas ainda assim não é o que eu preciso, porque com o comando acima, eu renomeio todos os arquivos que estão no diretório para o formato: "myfotos_0000 myfotos_0001 myfotos_0002 myfotos_0003 myfotos_0004 myfotos_0005 myfotos_0006 myfotos_0007"
O que eu gostaria de fazer é, todas as fotos que possuam o padrão "IMGXXXX1", "IMGXXXX2", "IMGXXXX3", "IMGXXX4", mudem para "foto(1).jpg", "foto(2).jpg", "foto(3).jpg", "foto(4).jpg".
Alguém tem uma ideia de como posso fazer isso?
Boa tarde Victor.
IMG
XXXX1, quais caracteres existem no lugar dos "X", são "X" mesmo?
Qual a extensão atual, jpg?
Bem, se os "X" forem X mesmo e a extensão atual jpg, o comando abaixo resolve:
rename -n 's/^IMG([X]+)([[:alnum:]]+)/FOTO\($2\)/' *.jpg
O parâmetro -n simula, para alterar execute:
rename 's/^IMG([X]+)([[:alnum:]]+)/FOTO\($2\)/' *.jpg
Marcelo Oliver