[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Sed - troca apenas da primeira ocorrência
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] Sed - troca apenas da primeira ocorrência |
Date: |
Tue, 29 Apr 2008 18:37:41 -0300 |
Esse é o problema do comando q no lugar errado
$ cat xxx
321
852
vazio
vazio
vazio
$ sed -n '/vazio/{=;q}' xxx
3
$ sed "$(sed -n '/vazio/{=;q}' xxx)s/vazio/qqcoisa/" xxx
321
852
qqcoisa
vazio
vazio
Sacou?
2008/4/29 César Vianna <address@hidden>:
>
>
>
>
>
>
> ok.
>
> mas o resultado esperado seria:
>
> teste
> teste
> qualquercoisa
> a
> a
>
> Teria que apenas substituir a primeira linha encontrada e preservar as
> demais
>
> 2008/4/29 Flavio Junior <address@hidden>:
>
>
> > q
> >
> > [root@catatau:~]# echo -e 'teste\nteste\na\na\na'
> > teste
> > teste
> > a
> > a
> > a
> > [root@catatau:~]# echo -e 'teste\nteste\na\na\na' | sed
> > '/a/{s/.*/qualquercoisa/;q}'
> > teste
> > teste
> > qualquercoisa
> > [root@catatau:~]#
> >
> > mim ser preguiçoso..
> >
> > Pra casar vazio pode usar: ^$
> >
> > --
> >
> > Flavio do Carmo Junior
> >
> > 2008/4/29 César Vianna <address@hidden <cesar.vianna%40gmail.com>
>
> > >:
> >
> > >
> > >
> > >
> > >
> > >
> > >
> > > Tenho um arquivo texto com o seguinte conteúdo
> > >
> > > 321
> > > 852
> > > vazio
> > > vazio
> > > vazio
> > >
> > > Quero trocar a primeira ocorrência de "vazio" por "qualquercoisa"
> > >
> > > Fiz assim
> > >
> > > sed "s/vazio/qualquercoisa/" estac.txt
> > >
> > > e
> > >
> > > sed "s/vazio/qualquercoisa/1" estac.txt
> > >
> > > Mas em ambas opções ele troca todas as ocorrências de vazio
> > >
> > > Sei que tem alguma opção para interromper na primeira ocorrência, mas
> > não
> > > estou lembrando. Como diz o Júlio: "Para o sed não ser guloso"
> > >
> > > [As partes desta mensagem que não continham texto foram removidas]
> > >
> > >
> >
> >
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
--
Tiago B Peczenyj
Linux User #405772
http://peczenyj.blogspot.com/
"what does not kill us makes us stronger"