Uma das formas.. bonita eu considero:
# Listando os arquivos, que eu acho que eh o seu padrao
[EMAIL PROTECTED]:~/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
[EMAIL PROTECTED]:~/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
[EMAIL PROTECTED]:~/test]# while IFS=$'\n' read -r FILE; do mv "$FILE"
"${FILE/Banco\ de\ Dados\ /}"; done < <(ls)
# Conferindo
[EMAIL PROTECTED]:~/test]# ls
A.txt b.txt c.txt d.txt e.txt
[EMAIL PROTECTED]:~/test]#
Espero ter ajudado..
--
Flávio do Carmo Júnior
On Dec 18, 2007 4:29 PM, Paulo Soares Drumond <[EMAIL PROTECTED]> 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 <[EMAIL PROTECTED]> escreveu:
> >
> > me informa como vc tá fazendo
> >
> >
> > ----- Original Message -----
> > From: Paulo Soares Drumond
> > To: [email protected] <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
> <[EMAIL PROTECTED]<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
> <[EMAIL PROTECTED]<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
> <[EMAIL PROTECTED]<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]
>
>