teste seu comando dando um echo "mv '$arq' ~/Fotos/Segunda/$((it++)).jpg" antes e conte as linhas (wc -l). Assim você vai saber se apaga arquivo ou não. ----- Original Message ----- From: Luiz, o Marelo To: [email protected] Sent: Thursday, February 22, 2007 10:29 PM Subject: [shell-script] Erro ao renomear arquivos em lote (via mv)
Pessoal, tenho uma pasta ~/Fotos/Segunda/ com vários arquivos no formato x.jpg onde x é numeração sequenciada. Outra pasta chamada temp onde estou descarregando fotos aos poucos de várias máquinas fotográficas (que estão em diferentes formatos como "dscxxxx.jpg", "segunda (xx).jpg", "fulano e fulana.jpg", etc) que irão para a mesma pasta citada acima. A intenção é deixar tudo do jeito da primeira pasta, seguindo a numeração. Para prosseguir a numeração da pasta acima, fiz o seguinte: it=234;for arq in *.jpg; do mv "$arq" ~/Fotos/Segunda/$((it++)).jpg; done; Onde 234 é o próximo número da sequencia... Só que com certeza meus parcos conhecimentos em shell script me pregaram uma peça nada agradável, porque qual não foi a minha surpresa ao ver que toda vez que rodo este comando alguns arquivos SOMEM. Havia algumas fotos repetidas, ou que ficaram com baixa qualidade então resolvi apagar, então rodei o arquivo de novo (só que tudo na pasta atual - a pasta de destino == pasta de origem) ou seja, o mv teria função só de renomear. Mas aí sempre somem alguns arquivos. Fui notando que a quantidade de arquivos nas pastas iam só diminuindo. E que as vezes a numeração começava no 12, outras vezes começava no 1, mas no meio dos numeros ficavam faltando um certo intervalo... Deduzi que em algum momento o mv tenta renomear pra um nome de arquivo já existente, então ele dá pau... É isso mesmo? Realmente era uma coisa que eu tinha que ter antecipado, mas na pressa.... Algumas fotos pelo visto já eram, perdi-as. Outras ainda tenho no email então dá pra baixar e renomear de novo. Então queria uma ajuda de como seria o jeito mais certo de fazer isso sem ser via mv Já adiantando, gostaria de fazer com que o script pegasse o número de arquivos (exemplo 740 fotos) e incluisse zeros à esquerda dos números menores que 3 dígitos... 001, 034, 443, etc.... Desculpe pelo post longo, mas gosto de explicar bem as coisas. Muito obrigado _____________________________________________ "Amai-vos uns aos outros, como eu vos amei" - Jesus [As partes desta mensagem que não continham texto foram removidas] [As partes desta mensagem que não continham texto foram removidas]
