Pular para o conteúdo

Ações condicionais no SED

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

Ações condicionais no SED

Ações condicionais no SED
Nesta dica veremos como fazer com que o sed processe linhas de acordo com condições.

Dado o arquivo duplas.txt com o seguinte conteúdo:

Marcos & Belutti
Maria Cecília & Rodolfo
Mariano & Caçula
Marlon & Maicon
Matheus & Kauan
Matogrosso & Mathias
Maurício & Mauri
Maurício & Eduardo
Mayck & Lyan

Quero substituir o caractere "&" pela vogal "e":

sed 's/\&/e/' duplas.txt

Ok, o comando acima fez a substituição em TODAS as linhas do arquivo. Agora quero restringir a substituição somente para linhas que possuam "Maurício":

sed '/Maurício/ s/\&/e/' duplas.txt

O primeiro "/[expressão]/" é a condição e o segundo é o comando sed. O comando acima irá processar somente as linhas que possuam a palavra Maurício.

Para negar a condição, ou seja, processar todas as linhas exceto as que possuam Maurício, use "!". Exemplo:

sed '/Maurício/! s/\&/e/' duplas.txt

Até a próxima.

Monitorando caixas postais com o wmbiff

Remote Transmission - Gerenciando os torrents do PC pelo Android

Criando aplicativos multiplataforma (Android, iOS, Windows) com Python + Kivy

Python - locale.Error: unsupported locale setting [Resolvido]

Treinamento oficial SuSE/Novell

Criando usuários a partir de uma lista

SED - substituir apenas a ocorrência N de uma string

Limitando o alcance do SED por números de linha

Remover tags HTML com SED

Introdução ao awk

#1 Comentário enviado por maurixnovatrento em 10/07/2020 - 13:36h

muito bom.

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

Contribuir com comentário

Entre na sua conta para comentar.