Ações condicionais no SED
Dica publicada em Shell Script / Expressões Regulares
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:
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.
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
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.
muito bom.
___________________________________
Conhecimento não se Leva para o Túmulo.