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.
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.
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 (;
).
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.
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários