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.667 Categoria: Shell Script Subcategoria: Expressões Regulares
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

Como somar todos os números contidos num arquivo texto

Estatísticas completas do mercado de browsers

O comando tree - listar diretórios em formato árvore

7 cursos gratuitos - Python, JavaScript, Linux e Segurança

Imagens flutuantes no Desktop

Limitando o alcance do SED por números de linha

Baixando todos os arquivos de uma URL com o wget

Remover tags HTML com SED

Ações condicionais no SED

Executando comandos em looping no shell

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