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: 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
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.