Znajdź określony wzór i wydrukuj cały blok tekstu za pomocą awk lub sed

Jak znaleźć konkretny numer w bloku tekstowym i wydrukowaćkompletny blok tekstu zaczynający się od słowa kluczowego"BEGIN" i kończąc na"END"? Zasadniczo tak wygląda mój plik:

BEGIN
A: abc
B: 12345
C: def
END

BEGIN
A: xyz
B: 56789
C: abc
END

BEGIN
A: ghi
B: 56712
C: pqr
END

[...]

Gdybym szukał'^B: 567', Chciałbym uzyskać to wyjście:

BEGIN
A: xyz
B: 56789
C: abc
END

BEGIN
A: ghi
B: 56712
C: pqr
END

Mógłbym użyć grep tutaj (grep -E -B2 -A2 "^B: 567" file), ale chciałbym uzyskać bardziej ogólne rozwiązanie. zgadujęawk lubsed może być w stanie to zrobić !?

Dzięki! :)

questionAnswers(6)

yourAnswerToTheQuestion