Suponha que seu arquivo seja chamado filename , sua expressão regular seja foo e você deseje imprimir linhas e linhas correspondentes em 10 linhas (acima e abaixo ) linhas correspondentes:
grep -C10 foo filename
Mais geralmente, para n linhas antes e depois das correspondências:
grep -Cn foo filename
Esta solução irá funcionar com o GNU grep (que o Ubuntu e praticamente todos os outros sistemas operacionais baseados em Linux). O sinalizador -C não é necessariamente suportado em todas as implementações grep , no entanto.
Para imprimir linhas somente antes ou somente após as correspondências, use as opções -Bn ou -An , em que n é o número de linhas que você deseja antes ou depois. Para obter mais informações sobre uma maneira alternativa de fazer isso, consulte esta questão relacionada (kudos a fossfreedom por perceber a semelhança).