Pular para o conteúdo

Alterar nome de arquivos em Massa [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Alterar nome de arquivos em Massa [RESOLVIDO]

Enviado em 28/03/2012 - 11:40h

Tenho um diretório com vários arquivos .JPG e preciso alterar os nomes desses arquivos da seguinte forma:
-Os nomes dos arquivos estão nesse formato

Nome da pessoa - RA - tipo + extensão
Douglas Moreno - 987654 - abc123.jpg
Douglas - 456987 - 123abc.jpg

preciso deixar o nome do arquivo somente com o RA, ou seja, 987654.jpg

Preciso de um script que tire tudo antes do primeiro "-" e depois do segundo "-"

Alguém pode me ajudar ???

Obrigado

Responder tópico

2. Re: Alterar nome de arquivos em Massa [RESOLVIDO]

Melhor resposta

Enviado em 28/03/2012 - 11:45h

Tente o seguinte:


#!/bin/bash

for i in *.jpg; do
RA=$(echo "$i" | cut -d '-' -f 2)
mv "$i" "${RA}.jpg"
done


Como isso é só um teste, crie um backup dos seus arquivos antes de rodar esse script.

Depois de executar, avise se funcionou ou se deu erro.

Abraço!

3. Re: Alterar nome de arquivos em Massa [RESOLVIDO]

Enviado em 28/03/2012 - 11:58h

Perfeito !!!
Muito Obrigado

4. Re: Alterar nome de arquivos em Massa [RESOLVIDO]

Enviado em 28/03/2012 - 11:58h

Disponha :)

5. Re: Alterar nome de arquivos em Massa [RESOLVIDO]

Enviado em 02/04/2012 - 14:06h

Só mais uma coisa !!!
Agora o arquivo fica com espaço no começo, no fim ou em ambos:
" 987654.jpg"
"987654 .jpg"
" 987654 .jpg"

Ja procurei em varios scrips aqui mas só tem para trocar o espaço por 'underline'.
Ja tentei com sed e cut mas sempre da erro !!!

Pode me ajudar novamente tirando os espaços do nome do arquivo no seu script ???

Obrigado

6. Re: Alterar nome de arquivos em Massa [RESOLVIDO]

Enviado em 02/04/2012 - 15:38h

Para vc retirar apenas os espaços dos arquivos, pode usar o script:



ls -lC1 | while read line
do

new=`echo "$line" | sed 's/ //g'`
mv "$line" "$new"

done



Uma dica: antes de executar qualquer operação com move (mv) como neste caso, sempre faça um backup da sua pasta antes.

Boa sorte!

7. Re: Alterar nome de arquivos em Massa [RESOLVIDO]

Enviado em 02/04/2012 - 15:43h

Outra solução seria trocar o:


sed 's/ //g'


... postado pelo alexandregms por:


tr -d "[:space:]"


Mas ainda acho que com sed fica um pouco mais rápido.

8. Re: Alterar nome de arquivos em Massa [RESOLVIDO]

Enviado em 02/04/2012 - 15:58h

Agora funcinou !!!!! :)
Tava tentando fazer com uma linha de comando e não tava conseguindo !

Obrigado gente

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder