Atualizado em 18-Nov-2016 (pois o comportamento do grep é alterado: grep com o parâmetro -P agora não suporta ^
e $
anchors [no Ubuntu 16.04 com kernel v: 4.4 .0-21-generic]) (correção errada (não)
$ grep -Pzo "begin(.|\n)*\nend" file
begin
Some text goes here.
end
nota: para outros comandos, basta substituir o '^' & amp; Âncoras '$' com âncora de nova linha '\n'