Sed: excluir uma ou mais linhas de um arquivo

O comando sed do Linux nos permite, entre outras coisas, eliminar linhas de um arquivo. Nesse artigo, mostramos como fazer isso.

Exemplos

A seguir, elencamos diversos exemplos de uso do comando sed:

  • Eliminar a terceira linha:
sed '3d' meu_arquivo.txt
  • Eliminar linha contendo a cadeia "awk":
sed '/awk/d' meu_arquivo.txt
  • Eliminar a última linha:
sed '$d' meu_arquivo.txt
  • Eliminar todas as linhas vazias:
sed '/^$/d' meu_arquivo.txt sed '/./!d' meu_arquivo.txt
  • Eliminar a linha contendo uma expressão regular:
sed '/[0-9/][0-9]*$/d' meu_arquivo.txt
  • Eliminar o intervalo entre as linhas 7 e 9:
sed '7,9d' meu_arquivo.txt
  • Eliminar um intervalo com base em uma ocorrência:
sed '/-Inicio/,/-Fim/d' meu_arquivo.txt

Nota

Os exemplos acima só modificam a visualização do arquivo. Para modificações permanentes nas versões antigas (< 4), use um arquivo temporário. Para GNU Sed, use o parâmetro -i[sufixo], como no exemplo a seguir:

sed -i".bak" '3d' meu_arquivo.txt

, que terá como efeito não exibir o resultado na saída padrão e modificará o arquivo original meu_arquivo.txt eliminando a terceira linha e criando um arquivo de backup chamado meu_arquivo.txt.bak.

Foto: © Everypixel.

Nosso conteúdo é produzido em colaboração com especialistas em tecnologia da informação sob o comando de Jean-François Pillou, fundador do CCM.net. CCM é um site sobre tecnologia líder em nível internacional e está disponível em 11 idiomas.
Este documento, intitulado 'Sed: excluir uma ou mais linhas de um arquivo ', está disponível sob a licença Creative Commons. Você pode copiar e/ou modificar o conteúdo desta página com base nas condições estipuladas pela licença. Não se esqueça de creditar o CCM (br.ccm.net) ao utilizar este artigo.

Assine nossa newsletter!

Assine nossa newsletter!
Junte-se à comunidade