awk excluir linhas correspondentes após mbox parse

0

Seguindo as sugestões de esta resposta estou usando a seguinte linha em um script para ler um formato de arquivo mbox e fazer algumas operações não relevantes para a questão.

awk "/^Subject\: $GOODSUBJECT$/{a=1}/^From\:\ $GOODSENDER /{print;a=0}a" $MBOX

Como eu excluiria todas as linhas selecionadas por este jogo depois que meu script tiver feito seu trabalho?

Por favor, note que eles podem não ser apagados um por um, combinando-os, como eu poderia fazer com sed , porque - por exemplo - se eu combinar um espaço em branco todas as linhas com espaços serão excluídas em todos os e-mails.

Eu quero excluir apenas as linhas delimitadas por esta seleção awk .

É possível?

    
por Marco 26.10.2017 / 19:54

1 resposta

1

Basta fazer a reversão da correspondência para manter aqueles que não combinam com:

awk "!/^Subject\: $GOODSUBJECT$/{a=1} !/^From\:\ $GOODSENDER /{print;a=0}a" $MBOX
    
por 26.10.2017 / 20:01