DUVIDA: Renomeando Arquivo com SED

1. DUVIDA: Renomeando Arquivo com SED

Bernard
logics

(usa Gentoo)

Enviado em 24/05/2013 - 22:51h

Pessoal,
Com linux é possível realizar a substituição de caracteres com acentos p/ sem acentos? ex: /home/john/link park FáÍnT.mp3 para /home/john/link park FaInt.mp3 ?

Pois tenho uns 50gb de músicas, mais elas estão com acentos (ÃãÉéiÍÕõôúÚ etc..) gostaria de substituir esses caracteres com acentos para eles sem acento (AaEeiIOoouU).


  


2. Re: DUVIDA: Renomeando Arquivo com SED

Fernando
phoemur

(usa Debian)

Enviado em 24/05/2013 - 23:20h

Fiz um comando aqui que está funcionando, porém sem entrar nas subpastas:


for i in $(ls *.mp3); do mv $i $(echo "$i" | sed 'y/áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚçÇ/aAaAaAaAeEeEiIoOoOoOuUcC/'); done


Assim ele vai renomear os seus mp3 tirando os acentos...


3. Re: DUVIDA: Renomeando Arquivo com SED

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 24/05/2013 - 23:30h

Essa forma sozinha não entra nas subpastas, pra isso você precisa do find.


4. Re: DUVIDA: Renomeando Arquivo com SED

Fernando
phoemur

(usa Debian)

Enviado em 24/05/2013 - 23:32h

Assim detectou as subpastas. Execute o comando no diretório raiz, não pode estar dentro de nenhuma subpasta:


find /home/musicas -iname *.mp3 | while read line; do mv "$line" "$(echo $line | sed 'y/áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚçÇ/aAaAaAaAeEeEiIoOoOoOuUcC/')"; done


substitua /home/musicas pelo seu diretorio de musicas e *.mp3 pelos arquivos que quiser renomear.


Obs: tentei fazer com a função -exec do find mas não consegui utilizar o sed dentro dela, aceito sugestões...



5. erro

Bernard
logics

(usa Gentoo)

Enviado em 24/05/2013 - 23:35h

Amigo, olha só o erro, é necessário criar o script bin?

[root@host Mastruz com Leite - V37 - CD Oficial do São João]# ls
01. Abertura.mp3 06. Explode Coração.mp3 11. Amor, Amor.mp3 16. Pra esse amor abençoar.mp3
02. Olhinhos da Fogueira.mp3 07. Vamos pra fogueira.mp3 12. Festa do Balão.mp3 17. Leito Da Saudade.mp3
03. São João da Terra.mp3 08. Quero ser teu gato.mp3 13. Explodindo de Paixão.mp3 18. à Peste.mp3
04. Só O Filé.mp3 09. Forró Folia.mp3 14. Arraiá da Capitá.mp3
05.Trem Do Forró.mp3 10. Passeando Pelo Sertão.mp3 15. Simpatia de São João.mp3

[root@host Mastruz com Leite - V37 - CD Oficial do São João]# clear

[root@host Mastruz com Leite - V37 - CD Oficial do São João]# for i in $(ls *.mp3); do mv $i $(echo "$i" | sed 'y/áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚçÇ/aAaAaAaAeEeEiIoOoOuUcC/'); done

mv: cannot stat `01.': No such file or directory
mv: cannot stat `Abertura.mp3': No such file or directory
mv: cannot stat `02.': No such file or directory
mv: cannot stat `Olhinhos': No such file or directory
mv: cannot stat `da': No such file or directory
mv: cannot stat `Fogueira.mp3': No such file or directory
mv: cannot stat `03.': No such file or directory



6. Re: DUVIDA: Renomeando Arquivo com SED

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 24/05/2013 - 23:39h

logics escreveu:

Amigo, olha só o erro, é necessário criar o script bin?

[root@host Mastruz com Leite - V37 - CD Oficial do São João]# ls
01. Abertura.mp3 06. Explode Coração.mp3 11. Amor, Amor.mp3 16. Pra esse amor abençoar.mp3
02. Olhinhos da Fogueira.mp3 07. Vamos pra fogueira.mp3 12. Festa do Balão.mp3 17. Leito Da Saudade.mp3
03. São João da Terra.mp3 08. Quero ser teu gato.mp3 13. Explodindo de Paixão.mp3 18. à Peste.mp3
04. Só O Filé.mp3 09. Forró Folia.mp3 14. Arraiá da Capitá.mp3
05.Trem Do Forró.mp3 10. Passeando Pelo Sertão.mp3 15. Simpatia de São João.mp3

[root@host Mastruz com Leite - V37 - CD Oficial do São João]# clear

[root@host Mastruz com Leite - V37 - CD Oficial do São João]# for i in $(ls *.mp3); do mv $i $(echo "$i" | sed 'y/áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚçÇ/aAaAaAaAeEeEiIoOoOuUcC/'); done

mv: cannot stat `01.': No such file or directory
mv: cannot stat `Abertura.mp3': No such file or directory
mv: cannot stat `02.': No such file or directory
mv: cannot stat `Olhinhos': No such file or directory
mv: cannot stat `da': No such file or directory
mv: cannot stat `Fogueira.mp3': No such file or directory
mv: cannot stat `03.': No such file or directory


Faz assim:
$ for i in $(ls *.mp3); do mv "$i" "$(echo "$i" | sed 'y/áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚçÇ/aAaAaAaAeEeEiIoOoOuUcC/')"; done 

Isole as chamadas da variável entre aspas, funciona melhor assim ;-)


7. Re: DUVIDA: Renomeando Arquivo com SED

Fernando
phoemur

(usa Debian)

Enviado em 24/05/2013 - 23:43h

No caso dele não funcionou porque os arquivos tem espaços e ele precisaria escapar ou apagar os espaços... Mas isolando funciona tb...
agora me parece que o problema não são os acentos e sim a codificação dos caracteres...


8. Olha só o resultado

Bernard
logics

(usa Gentoo)

Enviado em 24/05/2013 - 23:44h

[root@host Mastruz com Leite - V37 - CD Oficial do São João]# $ for i in $(ls *.mp3); do mv "$i" "$(echo "$i" | sed 'y/áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚçÇ/aAaAaAaAeEeIoOoOuUcC/')"; done
-bash: syntax error near unexpected token `do'

ls:

01. Abertura.mp3 05.Trem Do Forró.mp3 09. Forró Folia.mp3 13. Explodindo de Paixão.mp3 17. Leito Da Saudade.mp3
02. Olhinhos da Fogueira.mp3 06. Explode Coração.mp3 10. Passeando Pelo Sertão.mp3 14. Arraiá da Capitá.mp3 18. à Peste.mp3
03. São João da Terra.mp3 07. Vamos pra fogueira.mp3 11. Amor, Amor.mp3 15. Simpatia de São João.mp3
04. Só O Filé.mp3 08. Quero ser teu gato.mp3 12. Festa do Balão.mp3 16. Pra esse amor abençoar.mp3




9. 2 comandos?

Bernard
logics

(usa Gentoo)

Enviado em 24/05/2013 - 23:46h

Amigo, então são dois comandos? Um para retirar os espaços e o outro para realizar as mudanças dos caracteres?

Sim ótimo, tem como substituir os espaços por "_"? Sendo fica ótimo para min.


10. Re: DUVIDA: Renomeando Arquivo com SED

Ricardo Fabiano Silva
madrugada

(usa Gentoo)

Enviado em 24/05/2013 - 23:47h

phoemur escreveu:

No caso dele não funcionou porque os arquivos tem espaços e ele precisaria escapar ou apagar os espaços... Mas isolando funciona tb...
agora me parece que o problema não são os acentos e sim a codificação dos caracteres...

+1
Se configurasse pra utf-8 talvez resolvesse.


11. Re: DUVIDA: Renomeando Arquivo com SED

Luís Fernando C. Cavalheiro
lcavalheiro

(usa Slackware)

Enviado em 24/05/2013 - 23:50h

phoemur escreveu:

No caso dele não funcionou porque os arquivos tem espaços e ele precisaria escapar ou apagar os espaços... Mas isolando funciona tb...
agora me parece que o problema não são os acentos e sim a codificação dos caracteres...


Se ele isolar as chamadas da variável com aspas o nome do arquivo pode ter aspas, vírgulas, dois-pontos, exclamação, o que quer que seja. E sim, o problema dele é a codificação de caracteres.


12. Re: DUVIDA: Renomeando Arquivo com SED

Bernard
logics

(usa Gentoo)

Enviado em 24/05/2013 - 23:52h

Deve ser isso mesmo, mais não estou achando como modificar minha codificação. E esta máquina é um servidor caseiro rodado com o Gentoo6.
Alguém tem alguma idéia?!



01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts