Pular para o conteúdo

Como fazer "quit" no SED

Dica publicada em Shell Script / Expressões Regulares
Fábio Berbert de Paula fabio
Hits: 1.674 Categoria: Shell Script Subcategoria: Expressões Regulares
  • Indicar
  • Impressora
  • Denunciar

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).

Slack - Ferramenta de comunicação em equipe (PC, Android e iOS)

bc - Como passar parâmetros via linha de comando para a calculadora

Conferência Internacional Software Livre Brasil

Como usar o xmodmap para mapear teclas

Vim - apagar linhas vazias

Sed - como salvar alterações no arquivo

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

Limitando o alcance do SED por números de linha

Como renomear arquivos de letras maiúsculas para minúsculas

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

#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

Entre na sua conta para comentar.