Pular para o conteúdo

Ajuda com um shell script [RESOLVIDO]

Responder tópico
  • Denunciar
  • Indicar

1. Ajuda com um shell script [RESOLVIDO]

Enviado em 28/02/2016 - 00:57h

Ola pessoal,

Precisava de uma ajuda para renomear vários arquivos de uma pasta, eles estão da seguinte forma:
- Nome.xxx

Queria retirar esse "-" e também o espaço depois.

Podem me ajudar?

Obrigada!

Responder tópico

2. Re: Ajuda com um shell script

Melhor resposta

Enviado em 09/03/2016 - 10:59h

cristiannedf escreveu:

Marcelo,
Obrigada. Desculpe a demora para responder.
Deu a seguinte mensagem:

"- AeroSmith - I Don't Want to Miss a Thing.mp3" => AeroSmith - I Don't Want to Miss a Thing.mp3
mv: target `Thing.mp3' is not a directory
RENOMEANDO:
"- Aerosmith - Fly Away From Here.mp3" => Aerosmith - Fly Away From Here.mp3
mv: target `Here.mp3' is not a directory
RENOMEANDO:
"- Biquini Cavadao - Acordar Pra Sempre Com Voce.mp3" => Biquini Cavadao - Acordar Pra Sempre Com Voce.mp3
mv: target `Voce.mp3' is not a directory

São várias músicas que estão dessa forma e outra normais. Pode estar atrapalhando?
Obrigada!
-----------------------------------------------------------------------------------------------------------------------
Bom dia cristiannedf.
Devido a "demora", imaginei que tivesse desistido . . . Rsrsrs
São várias músicas que estão dessa forma e outra normais. Pode estar atrapalhando?
Na 1ª "postagem", você informou que tinha "- " no inicio, e no script, eu "tratava" somente essa situação . . .
Com os exemplos, ficou mais fácil.
Além do "- " no início, tratei o " - " e o "espaço"
Se tiver mais alguma particularidade, poste que tento resolver . . .
Testei aqui e funcionou....
Segue:


#!/bin/bash

ls -1 > LSTXT.txt
sleep 0.5
while read ARQ ;do
if egrep -iq 'mp3$' <<< "$ARQ";then
ARQN=$(sed 's/^- //;s/ - /_/g;s/ /_/g' <<< $ARQ)
echo -e "RENOMEANDO:\n\"$ARQ\" => $ARQN\n"
mv -- "$ARQ" $ARQN
fi
done < LSTXT.txt
COMO FUNCIONA:
Lista os aquivos e envia para LSTXT.txt
Lê, linha por linha o arquivo LSTXT.txt
Se terminar com MP3 ou mp3
Altera:
"- " => NADA
" - " => "_"
" " => "_"
Gera o NOVO ARQUIVO => "$ARQN"
Renomeia:
mv -- "$ARQ" $ARQN
Pronto!

Boa sorte!!!
Se resolver, marque como resolvido, por favor.
Gostando da resposta, marque-a como MELHOR, dessa forma, ganho uns pontinhos, o que incentiva a continuar colaborando . . . :)

att.:
marcelo oliver

3. Re: Ajuda com um shell script

Enviado em 28/02/2016 - 11:37h

cristiannedf escreveu:
Ola pessoal,
Precisava de uma ajuda para renomear vários arquivos de uma pasta, eles estão da seguinte forma:
- Nome.xxx
Queria retirar esse "-" e também o espaço depois.
Podem me ajudar?
Obrigada!
--------------------------------------------------------
Bom dia cristiannedf, posso sim!
Execute o seguinte comando:
SCRIPT

#!/bin/bash
for ARQ in $(ls -1|egrep ^'-[ ]');do
ARQN=$(sed 's/^- //' <<< "$ARQ")
ARQX=$(sed 's/ /\\ /' <<< "$ARQ")
mv $ARQX $ARQN
done
EM UMA LINHA
for ARQ in $(ls -1|egrep ^'-[ ]');do ARQN=$(sed 's/^- //' <<< "$ARQ");ARQX=$(sed 's/ /\\ /' <<< "$ARQ");mv $ARQX $ARQN;done 
OBS-01: O SCRIPT/COMANDO deve ser executado no diretório onde quer fazer as alterações. :)
OBS-02: Se resolver, marque como resolvido, por favor.
Gostando da resposta, marque-a como MELHOR, dessa forma, ganho uns pontinhos, o que incentiva a continuar ajudando . . . :)

att.:
marcelo oliver


4. Re: Ajuda com um shell script [RESOLVIDO]

Enviado em 28/02/2016 - 19:10h

Tá faltando uns sinais de cifrâo nas variáveis da linha única de comandos.

----------------------------------------------------------------------------------------------------------------
http://24.media.tumblr.com/tumblr_m62bwpSi291qdlh1io1_250.gif

# apt-get purge systemd (não é prá digitar isso!)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden

5. Re: Ajuda com um shell script

Enviado em 28/02/2016 - 20:39h

[quote]listeiro_037 escreveu:

Tá faltando uns sinais de cifrâo nas variáveis da linha única de comandos.

----------------------------------------------------------------------------------------------------------------
Valeu listeiro_037.
Não só na linha única como também no script ... :)
Pressa + diversidade de linguagens de programação + falta de atenção = M34d4! rsrsrsr
abç.:
marcelo oliver

6. Re: Ajuda com um shell script [RESOLVIDO]

Enviado em 01/03/2016 - 03:11h

Ola marcelo,

Não funcionou não, deu erro:

cris@guild:~/musics/teste$ ./renomear.sh
./renomear.sh: line 2: warning: here-document at line 2 delimited by end-of-file (wanted `$ARQ')
./renomear.sh: line 1: warning: here-document at line 1 delimited by end-of-file (wanted `$ARQ')
./renomear.sh: line 2: warning: here-document at line 2 delimited by end-of-file (wanted `$ARQ')
./renomear.sh: line 1: warning: here-document at line 1 delimited by end-of-file (wanted `$ARQ')
mv: missing file operand
Try `mv --help' for more information.


7. Re: Ajuda com um shell script [RESOLVIDO]

Enviado em 02/03/2016 - 11:00h

cristiannedf escreveu:
Ola marcelo,
Não funcionou não, deu erro:
cris@guild:~/musics/teste$ ./renomear.sh
Try `mv --help' for more information.
-----------------------------------------------------------------------------------------
Olá cristiannedf.
Pois é, confiei que estava funcionando, não testei . . .
Desculpe.
Agora vai!
Esse foi testado.... :)


#!/bin/bash

[ -e LSTXT ] && > LSTXT.txt
ls -1 >> LSTXT.txt
sleep 1
while read ARQ ;do
if egrep -q '^- ' <<< "$ARQ";then
ARQ01=$(sed 's/- //' <<< $ARQ)
echo -e "RENOMEANDO:\n\"$ARQ\" => $ARQ01"
mv -- "$ARQ" $ARQ01
fi
done < LSTXT.txt

OBS: Se resolver, marque como resolvido, por favor.
Gostando da resposta, marque-a como MELHOR, dessa forma, ganho uns pontinhos, o que incentiva a continuar ajudando . . . :)

att.:
marcelo oliver



8. Re: Ajuda com um shell script [RESOLVIDO]

Enviado em 08/03/2016 - 22:04h

Marcelo,

Obrigada. Desculpe a demora para responder.

Deu a seguinte mensagem:

"- AeroSmith - I Don't Want to Miss a Thing.mp3" => AeroSmith - I Don't Want to Miss a Thing.mp3
mv: target `Thing.mp3' is not a directory
RENOMEANDO:
"- Aerosmith - Fly Away From Here.mp3" => Aerosmith - Fly Away From Here.mp3
mv: target `Here.mp3' is not a directory
RENOMEANDO:
"- Biquini Cavadao - Acordar Pra Sempre Com Voce.mp3" => Biquini Cavadao - Acordar Pra Sempre Com Voce.mp3
mv: target `Voce.mp3' is not a directory

São várias músicas que estão dessa forma e outra normais. Pode estar atrapalhando?

Obrigada!

9. Re: Ajuda com um shell script [RESOLVIDO]

Enviado em 10/03/2016 - 15:05h

Muito obrigada, marcelo!
Funcionou perfeitamente!

10. Re: Ajuda com um shell script [RESOLVIDO]

Enviado em 10/03/2016 - 16:40h

cristiannedf escreveu:
Muito obrigada, marcelo!
Funcionou perfeitamente!
-------------------------
Por nada , Cristianne Diaz.
Precisando, estou por aqui ....

Att.:
Marcelo Oliver

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder