[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Dúvida com o sed
From: |
Mauricio B. C. Vieira |
Subject: |
Re: [shell-script] Dúvida com o sed |
Date: |
Wed, 2 Apr 2003 12:53:11 -0300 |
User-agent: |
Mutt/1.3.28i |
Esquisito. Eu também acreditava nisto, até mesmo pq li no seu sed howto
e nunca tinha tentado fazer diferente.
Mas um amigo meu fez um script e qndo eu vi, fiquei espantado. O script
faz um gerenciamento simples de tarefas. chama-se todoman, vou perguntar
pra ele se posso jogar aqui nesta lista.
eu fiz um teste aqui, e funcionou =)
mvieira@vonneumann:~$ echo vou sumir > a
mvieira@vonneumann:~$ cat a
vou sumir
mvieira@vonneumann:~$ cat a | sed 's/u/.../g' > a
mvieira@vonneumann:~$ cat a
vo... s...mir
mvieira@vonneumann:~$ bash --version
GNU bash, version 2.05a.0(1)-release (i386-pc-linux-gnu)
Copyright 2001 Free Software Foundation, Inc.
mvieira@vonneumann:~$ sed --version
GNU sed version 3.02
Copyright (C) 1998 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is
NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE,
to the extent permitted by law.
Nossos servidores são debian gnu/linux 3.0
On Wed, Apr 02, 2003 at 09:19:26AM -0300, aurelio wrote:
> ae mauricio,
>
> --- "Mauricio B. C. Vieira" <address@hidden> escreveu:
> > cat teste | sed "/$A/{s/::/:$B:/g;}" > teste
> > Funciona(deve funcionar), mas se vc fizer
>
> náin, náin, trunca do mesmo jeito.
>
> # echo vou sumir > a
> # cat a | sed 's/u/.../g' > a
> # cat a
> #
>
>
> > sed "/$A/{s/::/:$B:/g;}" teste > teste
> > ou
> > sed "/$A/{s/::/:$B:/g;}" <teste > teste #dá no mesmo
> > ele trunca e vc perde o arquivo.
>
> ok
>
> > sed "/$A/{s/::/:$B:/g;}" -> quando vc achar $A, execute a substuição
> > com
> > o $B
>
> esse sed é *quase* o mesmo que o grep+sed do albérico.
> só que ele ainda joga todas as linhas no resultado, não
> filtrando-as.
>
> > > grep $A teste | sed "s/::/:$B:/"g
>
> só em sed fica
>
> sed -n "/$A/{s/::/:$B:/g;p;}" arquivo > arquivo.tmp
> mv arquivo.tmp arquivo
>
>
> > On Tue, Apr 01, 2003 at 06:05:42PM -0300, Alberico Moreira da Silva
> > wrote:
> > > Oi sou novo em criação de scripts shel e tenho uma dúvida.
> > >
> > > O comando "sed" abaixo ao ser executado mostra somente na saida
> > padrão a alteração efetuada, porém gostaria que o mesmo seja alterado
> > no próprio arquivo teste, alguém poderia me ajudar ?????
> > > Obs.: Lembrando que a intenção é alterar no próprio arquivo e não
> > direciona-lo para outro.
> > >
> > > grep $A teste | sed "s/::/:$B:/"g
>
>
> =====
> --
> aurelio
>
> _______________________________________________________________________
> Yahoo! Mail
> O melhor e-mail gratuito da internet: 6MB de espaço, antivÃrus, acesso POP3,
> filtro contra spam.
> http://br.mail.yahoo.com/
>
>
> ---------------------------------------------------------------------
> Esta lista não admite a abordagem de outras liguagens de programação, como
> perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio
> aviso.
> ---------------------------------------------------------------------
> Sair da lista: address@hidden
> ---------------------------------------------------------------------
> Esta lista é moderada de acordo com o previsto em
> http://www.listasdiscussao.cjb.net
> ---------------------------------------------------------------------
>
>
> Seu uso do Yahoo! Grupos é sujeito às regras descritas em:
> http://br.yahoo.com/info/utos.html
>
--
Mauricio B. C. Vieira - <address@hidden>
Estudante de Ciência da Computação - http://twiki.im.ufba.br/~MauricioVieira
Membro do GAVRI - http://gavri.im.ufba.br