Pular para o conteúdo

Renomear em massa

Responder tópico
  • Denunciar
  • Indicar

1. Renomear em massa

Enviado em 14/01/2010 - 08:22h

Ola, pessoal, tenho uma bucha aqui, preciso renomear um monte de arquivos ao mesmo tempo mais também preciso que ele faça uma comparação para poder trocar o nome. ex.

454-ssdd.jpg
856-45-s.jpg
454_jsh.jpg

eu preciso é trocar o nome dos arquivos com 454-ssd.jpg para 454_ssd.jpg eu pensei em fazer com Expressão Regular mais não consegiu alguem pode me dar uma dica de como fazer isso

Obrigado

Responder tópico

2. Tente assim:

Enviado em 14/01/2010 - 08:46h

Estando no diretório dos arquivos.

for i in *.jpg
do
[[ $i =~ [0-9]- ]] && { v=${i//-/_} ; mv $i $v ;}
done

3. blz

Enviado em 14/01/2010 - 08:54h

Um pouco de shell script :)

4. Agradecimento

Enviado em 14/01/2010 - 09:48h

Ola, funcionou perfeitamente, valeu mesmo só precisei dar uma arrumar de [0-9] para [Aa-Zz0-9] pra pegar arquivos com letras também muito obrigado mesmo.

for i in *.jpg; do [[ $i =~ [Aa-Zz0-9]- ]] && { v=${i//-/_} ; mv $i $v ;}; done;

5. Re: Renomear em massa

Enviado em 14/01/2010 - 09:57h

for i in *.jpg; do [[ $i =~ [Aa-Zz0-9]- ]] && { v=${i//-/_} ; mv $i $v ;}; done;

Se fizer com while pega também arquivos com espaços em branco:

ls -1 --color=none|while read i; do [[ "$i" =~ [Aa-Zz0-9]- ]] && { v=${i//-/_} ; mv "$i" "$v" ;}; done;

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder