Como excluir várias linhas da correspondência com grep ou ferramenta simila

Posso encontrar todas as linhas de arquivo não correspondentes comgrep -v 'my_pattern' some_file. Também posso imprimir algumas strings antes / depois / em torno da correspondência com-A, -B ou-C opções de grep. Mas não posso combinar essas duas opções para excluir linhas com padrão e certa quantidade de linhas próximas às linhas correspondentes - grep mostra o arquivo inteiro como resultado. Por exemplo, eu tenho log com vários padrões como este:

25.02.2012 10:41:37 here goes memory state
25MiB free
16MiB allocated
max free block is 4MiB

Eu gostaria de filtrá-los. Obviamente, eu posso escrever scripts perl / awk personalizados, mas existe uma maneira mais elegante de fazer isso?

questionAnswers(2)

yourAnswerToTheQuestion