é tão fácil para o comando magic awk
:
awk -v RS="--------------------------------------"
'/keywordA/||/keywordB/||/keywordC/' RS='' infile.txt
Você receberá a saída como abaixo do esperado:
--------------------------------------
Beginning of block
Text
Random Text
keywordA
Text
End of block
--------------------------------------
--------------------------------------
Beginning of block
Text
Random Text
keywordA
Text
End of block
--------------------------------------