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