De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.

Deleção de múltiplos padrões de texto com sed

Colaboração: Rubens Queiroz de Almeida

Data de Publicação: 13 de dezembro de 2023

Com o sed podemos remover de um arquivo múltiplos padrões de texto de um arquivo. Isso se faz combinando, em uma única expressão, os diversos padrões de texto desejados.

Método 1: Usando Expressões Múltiplas

Você pode passar múltiplas expressões de deleção para o sed, cada uma com seu próprio padrão. Por exemplo, para deletar linhas que contenham "erro" ou "aviso", fazemos da seguinte forma:

$ sed '/erro/d; /aviso/d' arquivo.txt

Basta separar as diversas expressões por um ponto e vírgula (;).

Método 2: Usando Expressões Regulares

A expressão anterior pode ser escrita de forma mais simplificada usando expressões regulares:

$ sed '/\(erro\|aviso\)/d' arquivo.txt

As barras invertidas (\) são usadas para fazer com que os parenteses e o pipe (|) sejam interpretados pelo sed e não pelo shell.

Nesta expressão os parênteses são usados para agrupar os padrões e o caractere | é usado como um operador OR, ou seja, qualquer um dos dois padrões fornecidos (erro ou aviso) é aceito e as linhas que contiverem qualquer um destes padrões serão deletadas.

Se você quiser que as mudanças sejam aplicadas diretamente no arquivo, use a opção -i:

$ sed -i '/erro/d; /aviso/d' arquivo.txt

ou

$ sed -i '/\(erro\|aviso\)/d' arquivo.txt

Tome cuidado, antes de fazer as modificações diretamente no arquivo, certifique-se de que o comando realmente fará o que você deseja. E não custa nada fazer um backup antes, não é?

Este é um exemplo extremamente simples, e ao mesmo tempo muito útil. As expressões regulares podem ser bem mais complexas e abrangentes.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários

Nenhum comentário ainda. Seja o primeiro!


Veja a relação completa dos artigos de Rubens Queiroz de Almeida