$ awk '/^\*\*\*/{gsub(/\*/,""); fname=$0".dat"; next} {print > fname}' ip.txt
$ cat ABC.dat
Line1*
L*ine2*
$ cat DEF.dat
Line3*
Lin*e4*
-
/^\*\*\*/
linhas de correspondência começando com***
-
gsub(/\*/,"")
exclui todos os*
dessas linhas -
fname=$0".dat"
atribui os caracteres restantes adicionados com.dat
afname
variable -
next
passa para a próxima linha
-
-
print > fname
imprime o conteúdo da linha atual no nome do arquivo salvo emfname