rename - Comando para renomear todos os arquivos para letra minúscula

Publicado por Xerxes em 26/02/2015

[ Hits: 19.854 ]

 


rename - Comando para renomear todos os arquivos para letra minúscula



Se você quer renomear todos os arquivos de dentro de um diretório para que eles fiquem apenas com letras minúsculas, basta entrar no diretório e executar:

rename 'y/A-Z/a-z/' *

Explicação:
  • O comando rename serve para renomear;
  • O parâmetro "y/A-Z/a-z/" está em expressão regular (perlexpr);
  • O "y" se trata de tradução, uma substituição caractere por caractere;
  • O "A-Z" quer dizer que todas as letras maiúsculas e o "a-z" todas minúsculas. O comando então, altera caractere por caractere, as letras maiúsculas substituindo pela sua correspondente minúscula;
  • Por fim o "*" (asterisco), significa aplicar o comando em todos os arquivos.

Para entender mais sobre o comando rename, use:

man rename

Logo no início do manual, você verá:

To translate uppercase names to lower, you'd use

               rename 'y/A-Z/a-z/' *


Um bom tutorial (porém em inglês) sobre isso, pode ser lido em:
É isso!

Outras dicas deste autor

Diablo 3 no Funtoo (vídeo Intel)

Crunchbang 11 - W: Falhou ao buscar http://security.debian.org/... Não foi possível resolver 'security.debian.org

Som apenas em um aplicativo por vez?

Internet mais rápida no Google Chrome

Como ver a versão da distribuição no terminal (e outras informações)

Leitura recomendada

Visualizando a quantidade de memória

Listar as máquinas/dispositivos online em determinada rede

Utilizando alias para agilizar comandos no Linux

Logsave: Registrando comandos locais ou remotos

Descobrindo endereço IP do modem

  

Comentários
[1] Comentário enviado por kennerc em 27/02/2015 - 09:39h


Esse comando aceitaria o parâmetro -r, para aplicar às subpastas também?

Andei lendo algumas coisas à respeito de nomes de arquivos e vi que letras maiúsculas e espaços deveriam ser evitados, sendo assim teria alguma variação desse comando que substitua o espaço " " por underline "_" ?

[2] Comentário enviado por xerxeslins em 27/02/2015 - 15:35h


[1] Comentário enviado por kennerc em 27/02/2015 - 09:39h


Esse comando aceitaria o parâmetro -r, para aplicar às subpastas também?

Andei lendo algumas coisas à respeito de nomes de arquivos e vi que letras maiúsculas e espaços deveriam ser evitados, sendo assim teria alguma variação desse comando que substitua o espaço " " por underline "_" ?


Não aceita esse parâmetro. Tem como fazer, mas eu não sei =/


[3] Comentário enviado por removido em 24/03/2015 - 14:48h


[1] Comentário enviado por kennerc em 27/02/2015 - 09:39h


Esse comando aceitaria o parâmetro -r, para aplicar às subpastas também?

Andei lendo algumas coisas à respeito de nomes de arquivos e vi que letras maiúsculas e espaços deveriam ser evitados, sendo assim teria alguma variação desse comando que substitua o espaço " " por underline "_" ?


Pode fazer isto com o comando abaixo:

find /home/seus/arquivos -name "* *" | while read i; do novo=`echo $i | tr ' ' '_'`; mv "$i" $novo; done


http://www.vivaolinux.com.br/script/Renomeando-multiplos-arquivos-com-espacos

[4] Comentário enviado por talesbrenoan em 17/03/2016 - 10:58h

SHOW!

[5] Comentário enviado por doug_pirralha em 17/04/2019 - 09:39h

Valeu!
Ajudou muito!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts