script com renrot e bash para renomear arquivos jpg em lote

Iniciado por olinto, 13 de Junho de 2010, 00:31

tópico anterior - próximo tópico

olinto

Olá,

Estou tentando fazer um script que renomeie as as fotos que baixo da minha câmera no formato yymmdd-nn

P.ex. 100612-01 (ano 10 mês 06 dia 12 - foto 01)

O programa renrot lê a etiqueta EXIF da foto e renomeia o arquivo com o comando

renrot -n %y%m%d-%c arquivo

Tentei algo como o script abaixo

for foriginal in `ls -1 *.jpg`; do
   echo -n "Renomeando $foriginal "
   renrot -n %y%m%d-%c $foriginal
   echo feito.
done


Mas acontece que %c (número da foto) sempre volta para o um. Assim eu necessitaria de um contator para o parêmetro --counter-start NUMBER

Estou tentando algo como:

n=0
for foriginal in `ls -1 *.jpg`; do
   n=echo %((%n+1))
   echo -n "Renomeando $foriginal "
   renrot -n %y%m%d-%c --counter-start echo $n $foriginal
   echo feito.
done


Esta utilização da variável n não está dando certo. Meus conhecimentos de bash são muito limitados.

Mas no final das contas o que eu queria mesmo era que a contagem de n reiniciasse a cada data. Assim eu teria 100612-01, 100612-02, 100612-03, 100613-01, 100613-02 ... mas nem imagino como fazer isso no bash. Se fosse na linguagem R (www.r-project.org) eu até me arriscaria.

Agradeço qualquer ajuda ou orientação.

Obrigado!

Antônio







Antônio Olinto
Linux User 455618
Ubuntu User 31203

irtigor

Nunca usei esse renrot mas o incremento pode ser feito assim:


n=1
for image in `ls -1 *.jpg`; do
    echo $n
    let "n = $n + 1"
    echo feito.
done

lightboy

Esse problema se resolve em 1 linha:

renrot -n "%y%m%d-%c" *.jpg

Conheci o renrot agora e gostei muito dele.  ;D
Linux user #491316 | Ubuntu user #27683