Ações condicionais no SED

Publicado por Fábio Berbert de Paula em 09/07/2020

[ Hits: 3.490 ]

Blog: https://mestrefabio.com

 


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.

Outras dicas deste autor

Vim - como criar arquivo ou diretório pelo NERDTree

Como substituir caracteres acentuados pelos equivalentes não-acentuados

Desabilitar o sininho (bell) no terminal

iptables - Como apagar uma regra NAT

Como evitar que o CSS do teu site fique armazenado em cache

Leitura recomendada

Leitor de arquivos ePub

Listar comandos mais utilizados (via histórico de shell)

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

Testando se uma variável é número em shell script

Como fazer "quit" no SED

  

Comentários
[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




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts