Suponha que seu ID seja fornecido em uma variável chamada ALERTID
:
sed -e '/Outgoing XML/!d;:a' -e '$d;N;s/.*\(<xml version.*<\/Alert>\).*//;Ta' -e "/$ALERTID/!d" yourfile.log
Explicação:
-
/Outgoing XML/!d;:a
deletar coisas até a linhaOutgoing XML
e iniciar um loop então -
$d
para excluir um registro inacabado no final do arquivo -
N;s/.*\(<xml version.*<\/Alert>\).*//;Ta
acrescenta linhas até a tag</Alert>
ser encontrada e remove tudo antes e depois do bloco desejado"/ $ ALERTID /! d
deletes blocks without the
$ ALERTID '
Talvez seja melhor ler:
sed '/Outgoing XML/!d;:a
$d;N
s/.*\(<xml version.*<\/Alert>\).*//;Ta
/'$ALERTID'/!d' yourfile.log