Ignorar linhas cheias com sed

1

Pesquisei alto e baixo em toda a Internet, mas não consigo encontrar uma resposta que satisfaça essa pergunta - preciso usar sed para exibir todas as linhas de um arquivo, excluindo um grupo delas.

Não estou tentando removê-los, nem reescrevê-los para comentários, mas simplesmente para não exibi-los, e esse é o problema que tive com a pesquisa on-line. Não importa como eu fale, obtenho resultados relacionados a fazer essas ações.

Eu tentei o símbolo de negação em sed -n '35,45'p /dir/file , mas não obtive nenhum resultado positivo. O que estou esquecendo?

    
por Brad B 28.09.2015 / 19:41

1 resposta

5

Para exibir todas as linhas exceto linhas 35 a 45, use o comando delete :

sed '35,45d' /dir/file

Isso não altera o arquivo original. Apenas exclui o intervalo de linhas da saída.

Exemplo

Considere este arquivo de teste:

$ cat file
1
2
3
4
5

Podemos excluir as linhas 2 a 4 com:

$ sed '2,4d' file
1
5
    
por 28.09.2015 / 19:50

Tags