com sed
:
sed -n '/^From: [email protected]/{h;n;/^to: [email protected]/{H;g;p;:x;n;p;s/.//;tx}}' file
-
/^From: [email protected]/
: primeira pesquisa para o endereço de emailFrom:
-
h;
armazena essa linha no espaço de espera. -
n;
carrega a próxima linha (a linhato:
).
-
-
/^to: [email protected]/
: pesquise oto:
endereço de e-mail-
H;
anexa essa linha ao espaço de espera. -
g;
copie o espaço de espera para o espaço de padrão. -
p;
imprime o espaço padrão. -
:x;
definiu um rótulo chamadox
. -
n;
carrega a próxima linha (o corpo do email) -
p;
imprime essa linha. -
s/.//
faz uma substituição nessa linha (apenas substitua um caractere) ... -
tx
... que o comandot
pode verificar se essa substituição foi bem-sucedida (quando a linha não está vazia, como no final do corpo do email). Se sim, volte para o marcadorx
e repita até aparecer uma linha vazia, se não pular para o final do script.
-
A saída:
From: [email protected]
to: [email protected]
<body of the message1>
From: [email protected]
to: [email protected]
<body of the message1>