shell-script-pt
[Top][All Lists]
Advanced

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

Re: [shell-script] Re: Qual é o modo certo


From: Flavio Junior
Subject: Re: [shell-script] Re: Qual é o modo certo
Date: Tue, 18 Dec 2007 16:34:48 -0200

Uma das formas.. bonita eu considero:

# Listando os arquivos, que eu acho que eh o seu padrao
[root@catatau:~/test]# ls
Banco de Dados A.txt  Banco de Dados b.txt  Banco de Dados c.txt
Banco de Dados d.txt  Banco de Dados e.txt

# Executando o script com o "echo" so pra eu ver se nao fiz cagada
[root@catatau:~/test]# while IFS=$'\n' read -r FILE; do echo mv
"$FILE" "${FILE/Banco\ de\ Dados\ /}"; done < <(ls)
mv Banco de Dados A.txt A.txt
mv Banco de Dados b.txt b.txt
mv Banco de Dados c.txt c.txt
mv Banco de Dados d.txt d.txt
mv Banco de Dados e.txt e.txt

# Parece que não, vamos executar
[root@catatau:~/test]# while IFS=$'\n' read -r FILE; do mv "$FILE"
"${FILE/Banco\ de\ Dados\ /}"; done < <(ls)

# Conferindo
[root@catatau:~/test]# ls
A.txt  b.txt  c.txt  d.txt  e.txt
[root@catatau:~/test]#


Espero ter ajudado..


--

Flávio do Carmo Júnior

On Dec 18, 2007 4:29 PM, Paulo Soares Drumond <address@hidden> wrote:
>
>
>
>
>
>
> Alan,
>
>  Lá vai:
>
>  for file in *
>  do
>  mv "$file" $(sed 's/Banco de Dados //g' <<< $file)
>  done
>
>  Paulo
>
>  Em 18/12/07, Alan Diones <address@hidden> escreveu:
>  >
>  > me informa como vc tá fazendo
>  >
>  >
>  > ----- Original Message -----
>  > From: Paulo Soares Drumond
>  > To: address@hidden <shell-script%40yahoogrupos.com.br>
>  > Sent: Tuesday, December 18, 2007 3:44 PM
>  > Subject: Re: [shell-script] Re: Qual é o modo certo
>  >
>  > Julio,
>  >
>  > Estou tentando renomear arquivos aqui e a cadeia de caracteres que eu
>  > quero
>  > suprimir tem espaços em branco. Eu tinha feito um comando igual ao
> debaixo
>  > e
>  > não obtive sucesso.
>  >
>  > Vi que o exemplo do Edgard usa underscore em lugar de espaço. Há algum
>  > truque para o meu caso?
>  >
>  > Obrigado,
>  >
>  > Paulo
>  >
>  > Em 07/12/07, Julio C. Neves
> <address@hidden<julio.neves%40gmail.com>>
>  > escreveu:
>  > >
>  > > Fala Edgard,
>  > > se me lembro da sua dúvida anterior, o que vc precisa é colocar o mv
>  > > dentro
>  > > de um laço. Se for isto mesmo (e a minha sanidade estiver ok), :) as
>  > > linhas
>  > > abaixo resolvem:
>  > >
>  > > for arq in arquivo*
>  > > do
>  > > mv $arq /diretorio/pasta/$(sed 's/.../.../ <<< $arq)
>  > > done
>  > >
>  > > O <<< é para substituir um "echo $arq | sed ..."
>  > >
>  > > Se for isso que vc quer, me deves uma consulta qdo eu for a SP. :)
>  > >
>  > > Feliz Natal e suShellso,
>  > > Julio
>  > >
>  > > Em 07/12/07, Fabiano Caixeta Duarte
> <address@hidden<fcd.listas%40gmail.com>
>  > <fcd.listas%40gmail.com>>
>  > > escreveu:
>  > > >
>  > > > Mostre a listagem original e seu objetivo pra facilitar a ajuda.
>  > > >
>  > > > Atenciosamente,
>  > > >
>  > > > --
>  > > > Fabiano Caixeta Duarte
>  > > > Especialista em Redes de Computadores
>  > > > Linux User #195299
>  > > > Ribeirão Preto - SP
>  > > >
>  > > > Em 06/12/07, Edgard Costa
> <address@hidden<edgardalvescosta%40gmail.com>
>  > <edgardalvescosta%40gmail.com>
>  > > <edgardalvescosta%40gmail.com>>
>  > > > escreveu:
>  > > > >
>  > > > > Valeu moçada. Obrigado a todos que mostraram a minha comida de
> bola.
>  > > > >
>  > > > > Este comando deu certo:
>  > > > > mv arquivo $(ls /diretorio/pasta/arquivo | sed
>  > > > 's/string/troca/g;........)
>  > > > >
>  > > > > E para automatizar a troca de todos de uma vez só como farei?
>  > > > >
>  > > > >
>  > > > > Tentei mv arquivo* $(ls /diretorio/pasta/arquivo* | sed
> 's/........)
>  > > > >
>  > > > > A resposta do prompt e que existe mas não é diretório.
>  > > > >
>  > > > > Qual é o truque?
>  > > > >
>  > > > >
>  > > > > EdgardCosta
>  > > > >
>  > > >
>  > > > [As partes desta mensagem que não continham texto foram removidas]
>  >
>  >
>
>  [As partes desta mensagem que não continham texto foram removidas]
>
>  


reply via email to

[Prev in Thread] Current Thread [Next in Thread]