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

[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"


reply via email to

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