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: Paulo Soares Drumond
Subject: Re: [shell-script] Re: Qual é o modo certo
Date: Tue, 18 Dec 2007 16:43:53 -0200

Valeu, Flávio,

Funcionou. Muito obrigado.

Paulo

Em 18/12/07, Flavio Junior <address@hidden> escreveu:
>
>   E só pra não dizer que sua ideia tava errada...
> Só faltou vc tratar o IFS ..
>
> Veja, usando exatamente sua ideia:
>
> [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
> [root@catatau:~/test]# OLDIFS=$IFS
> [root@catatau:~/test]# IFS='
> > '
> [root@catatau:~/test]# for file in *; do mv "$file" $(sed 's/Banco de
> Dados //g' <<< $file); done
> [root@catatau:~/test]# IFS=$OLDIFS
> [root@catatau:~/test]# ls
> A.txt B.txt C.txt D.txt E.txt
> [root@catatau:~/test]#
>
> (agora limpar os e-mails do corpo)
>
> --
>
> Flávio do Carmo Júnior
>
> On Dec 18, 2007 4:34 PM, Flavio Junior <billpp@xxxxxxxx> wrote:
> > 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 <psdrumond@xxxxxxxxxx>
> 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<alandiones%40imicro.com.br>>
> escreveu:
> > > >
> > > > me informa como vc tá fazendo
> > > >
> > > >
> > > > ----- Original Message -----
> > > > From: Paulo Soares Drumond
> > > > To: 
> > > > address@hidden<shell-script%40yahoogrupos.com.br><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><
> 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%40xxxxxxx>
> > > > <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
>
>  
>


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

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