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
FreeBSD: "chroot" num pool de armazenamento em ZFS
rm - remover vários arquivos excetuando alguns
Balanceando consultas de DNS no /etc/resolv.conf
Overclock em placas de vídeo NVIDIA
Ordenando uma lista de IPs (IPv4) com o sort
Leitura recomendada
Bashburn: Grave CD/DVD pelo terminal
Guia de comandos Linux totalmente em português de A-Z
Fedora sem ifconfig [Resolvido]
Converter vídeo para MP4 via terminal Linux
Para voltar ao ultímo diretório acessado.
Comentários
Sandro, realmente fantástico!
Adorei a dica, esta mesmo procurando algo semelhante.
Eu tbm tava... Parabens!
Muito obrigado!
Precisei, usei e funcionou.