awk '/CK$/,/D$/' file.txt
OR
sed -n '/CK$/,/D$/p' file.txt
Se você insistir em grep , aqui está uma maneira do GNU grep
grep -oPz '(?s)(?<=\n)\N+CK\n.*?D(?=\n)' file.txt
aqui
-P ativa perl-regexp
-z define o separador de linha como NUL. Isso força o grep a ver o arquivo inteiro como uma única linha
-o imprime apenas correspondência
(?s) ativa PCRE_DOTALL, então . encontra qualquer caractere ou nova linha
\N corresponde a qualquer coisa, exceto nova linha
.*? encontra. no modo nongreedy
(?<=..) é uma afirmação com olhar para trás
(?=..) é uma afirmação antecipada