Renomeando arquivos simultaneamente com apenas uma linha de comando
Situação: Você baixou aquelas 30 fotos de sua máquina digital (ou celular), só que as mesmas são nomeadas com tipos nada convidativos:
20080131imgmfd, awihdh007, etc...
Aí você pensa: "Eu queria renomear essas fotos seguindo um padrão tipo: Foto_1, Foto_2, ..., Foto_30."
Como fazer? Não se preocupe mais meu amigo, seus problemas acabaram! Veja:
1 - Abra um terminal e acesse o diretório onde você baixou as fotos:
$ cd /tmp/fotos
2 - Estando no diretório, digite:
$ ctd=1 ; for i in * ; do mv $i Foto_${ctd}.jpg ; ((ctd++)) ; done
Onde:
- "ctd=1" - Variável que recebe um valor numérico que servirá como contador.
- "for i in ..." - Loop responsável por listar todos os arquivos do diretório corrente e repassá-los um-a-um ao comando 'mv'.
- "mv ..." - Comando que, além de mover arquivos, também pode ser utilizado para renomeá-los.
- "Foto_${ctd}.jpg" - Novo nome das fotos, seguido do contador numérico ($ctd) e a extensão (.jpg).
- "((ctd++))" - Construção responsável por incrementar a variável 'ctd' em um (1), a cada passada do loop.
Pronto! Agora suas fotos estão todas renomeadas seguindo um padrão. Viu como é simples, fácil, prático e rápido!
Falou!!!
Outras dicas deste autor
rm - remover vários arquivos excetuando alguns
Shell - operações envolvendo números em ponto flutuante
CAT - Descobrindo informações sobre sua distribuição
Utilizando abas no Vim
Fluxbox: Wallpapers diferentes em cada área de trabalho
Leitura recomendada
Convertendo arquivos .doc para .txt via linha de comando
Criando uma lixeira no shell
Bloquear modificações em um arquivo com chattr
Otimização GCC - Descobrindo o modelo do seu processador
Convertendo em massa "end-of-line" de arquivos de texto entre Windows, GNU/Linux e Mac OS
Comentários
Sandro, realmente fantástico!
Adorei a dica, esta mesmo procurando algo semelhante.
Eu tbm tava... Parabens!
Muito obrigado!
Precisei, usei e funcionou.