Como fazer "quit" no SED

Publicado por Fábio Berbert de Paula em 08/06/2020

[ Hits: 1.049 ]

Blog: https://mestrefabio.com

 


Como fazer "quit" no SED



Mais uma dica rápida e excêntrica sobre o sed. Nesta demonstrarei como interromper o sed quando ocorrer algum evento.

Para ficar mais fácil de entender, vou partir para um exemplo prático. Dado o arquivo "texto.txt" abaixo:

1 Banana
2 Banana
3 Banana
4 Banana
5 Banana
6 Banana
7 Banana
8 Banana
9 Banana
10 Sair
11 Banana
12 Banana
13 Banana
14 Banana
15 Banana
16 Banana
17 Banana
18 Banana
19 Banana
20 Banana

Quero substituir "Banana" por "Limão" enquanto não aparecer a palavra "Sair". Quando encontrá-la, parar de processar.

sed 's/Banana/Limão/g ; /Sair/q' texto.txt
1 Limão
2 Limão
3 Limão
4 Limão
5 Limão
6 Limão
7 Limão
8 Limão
9 Limão
10 Sair


O "pulo do gato" no caso está em '/Sair/q', que significa que quando o sed encontrar o padrão /Sair/, irá fazer um quit (q).

Outras dicas deste autor

Apache2 - Forçando redirecionamento do site para o www

Como descobrir a velocidade de sua placa de rede via linha de comando

Como instalar Webmin no Debian/Ubuntu e derivados

Como fazer diff entre duas imagens

Apache - Forçando o browser a fazer download de determinado tipo de arquivo

Leitura recomendada

Eliminando linhas de comentário ou linhas em branco no Linux

Baixando todos os arquivos de uma URL com o wget

Remover tags HTML com SED

Equação de 2° Grau Shell Script - Zenity

Extraindo seu endereço IP com shell script (egrep + awk)

  

Comentários
[1] Comentário enviado por maurixnovatrento em 08/06/2020 - 11:54h


Boa dica. Vai agregar meu conhecimento.

___________________________________
Conhecimento não se Leva para o Túmulo.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts