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últiplas linhas com o comando sed

Colaboração: Rubens Queiroz de Almeida

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

Tomando por base o arquivo com o seguinte conteúdo:

1
2
3
4
5
6
7
8
9
10

Precisamos apagar neste arquivo as linhas 1, 3, 4 e 7.

Para isso usamos o comando sed com a seguinte sintaxe:

$ sed -e{1,3,4,7}d arquivo.txt

A opção -e é usada para indicar que a expressão seguinte será usada como script de edição. Ela é necessária para que o sed saiba que o que vem a seguir é um comando que deve ser aplicado ao texto.

{1,3,4,7}d é o script de edição e {1,3,4,7} são os especificadores de intervalo (linhas 1, 3, 4 e 7). A diretiva d sinaliza ao sed que as linhas devem ser deletadas.

É importante notar que o sed não modificará o arquivo, ele apenas ecoará para a tela o resultado do seu processamento.

Para efetivar a mudança diretamente no arquivo, use o mesmo comando com a diretiva -i:

$ sed -i -e{1,3,4,7}d arquivo.txt
$ cat arquivo.txt
2
5
6
8
9
10

Referências

Este assunto foi discutido na lista no Telegram dos alunos do curso Programação Shell Linux, ministrado pelo Prof. Julio Neves, referenciando uma publicação no portal StackExchange.

Adicionar comentário

* Campos obrigatórios
5000
Powered by Commentics

Comentários (1)

Avatar
Novo

Muito bom, obrigado!

Parabéns!!!

Por favor continue...



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