[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Comando para substituir nome arquivo sem perder a numeração



Desculpe minha ignorância, não entendo muito em scripts, mas vou te
passar mais ou menos que entendi o que me explicou.

---
coringao@debian:~$ cd teste/
coringao@debian:~/teste$ cat converte.sh 
#!/bin/bash

for Gintama in *.mkv; do

Gintama=$(echo -n $['Hacchi Fansub']_Gintama | sed 's/\['Hacchi
Fansub'\]_//g')

mv $ [Hacchi Fansub]_Gintama $Gintama

done

---
coringao@debian:~/teste$ ls
converte.sh                         [Hacchi Fansub]_Gintama_223-HD.mkv
[Hacchi Fansub]_Gintama_221-HD.mkv  [Hacchi Fansub]_Gintama_224-HD.mkv
[Hacchi Fansub]_Gintama_222-HD.mkv

---
Dentro deste diretório "teste" coloquei 4 episódios do meu desenho
favorito para testar. :)

Como faço para que estes arquivos fica somente:

Gintama_(numero-do-episodio).mkv

Quando executei o script deu este erro:

---
coringao@debian:~/teste$ ./converte.sh 
./converte.sh: line 5: 'Hacchi Fansub': syntax error: operand expected
(error token is "'Hacchi Fansub'")
sed: -e expressão #1, caractere 10: Comando `s' inacabado (s/// - faltou
delimitador)
mv: o alvo “Fansub]_Gintama” não é um diretório
sed: -e expressão #1, caractere 10: Comando `s' inacabado (s/// - faltou
delimitador)
./converte.sh: line 5: 'Hacchi Fansub': syntax error: operand expected
(error token is "'Hacchi Fansub'")
mv: o alvo “Fansub]_Gintama” não é um diretório
./converte.sh: line 5: 'Hacchi Fansub': syntax error: operand expected
(error token is "'Hacchi Fansub'")
sed: -e expressão #1, caractere 10: Comando `s' inacabado (s/// - faltou
delimitador)
mv: o alvo “Fansub]_Gintama” não é um diretório
./converte.sh: line 5: 'Hacchi Fansub': syntax error: operand expected
(error token is "'Hacchi Fansub'")
sed: -e expressão #1, caractere 10: Comando `s' inacabado (s/// - faltou
delimitador)
mv: o alvo “Fansub]_Gintama” não é um diretório
coringao@debian:~/teste$

---

Obrigado!


Em Qui, 2015-05-28 às 02:15 -0300, Listeiro 037 escreveu:
> Algo como:
> 
> for VELHONOME in *.mkv; do
> 
> NOVONOME=$(echo -n $VELHONOME | sed 's/\[Hacchi Fansub\]_//g')
> 
> mv $VELHONOME $NOVONOME
> 
> done
> 
> Geralmente eu faço esse tipo de coisa direto em linha de comando e vai
> direto no BASH por tentativa e erro. É algo mais ou menos assim. Crie
> um diretório de teste, coloque uns quatro arquivos lá e teste esse
> projeto de script. Se der certo com os quatro dará certo com todo o
> padrão.
> 
> 
> Em Thu, 28 May 2015 02:05:59 -0300
> Carlos Donizete <coringao@riseup.net> escreveu:
> 
> > Olá,
> > 
> > Curto muito animes e muitos destes arquivos que faço downloads contem
> > caracteres especiais ou são bem extensos os nomes.
> > 
> > Gostaria de saber um comando que consiga substituir o nome do arquivo
> > em sequencia sem perder a numeração. Tipo num diretório contem uns 4
> > episódios.
> > 
> > coringao@debian:~$ cd teste/
> > coringao@debian:~/teste$ ls
> > [Hacchi Fansub]_Gintama_221-HD.mkv  [Hacchi Fansub]_Gintama_223-HD.mkv
> > [Hacchi Fansub]_Gintama_222-HD.mkv  [Hacchi Fansub]_Gintama_224-HD.mkv
> > 
> > Qual o comando certo para deixa-los exemplo deste modo:
> > 
> > coringao@debian:~/teste$ ls
> > Gintama_221.mkv  Gintama_223.mkv
> > Gintama_222.mkv  Gintama_224.mkv
> > 
> > Obrigado e ate mais!
> 
> 

Attachment: signature.asc
Description: This is a digitally signed message part


Reply to: