Aqui está a versão mais detalhada de essencialmente a mesma coisa @ 1_CR postada acima e @ ash mostrada em pastebin , esperamos usar uma sintaxe mais legível:
awk '{
lastLine = currentLine;
currentLine = $0;
}
/foo|bar/ \
{
getline currentLine
next
}
NR > 1 \
{
print lastLine;
}
END \
{
if ( currentLine !~ /foo|bar/ )
print currentLine;
}
' InputFile