# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/(\*{3}.*?)(?:\s*\.{3}DONE=>.*)?(\*{3})$/$1 $2/gm;t' <<< "*** HEDAL - 2021 COMPLETE - MF - 03-01-2021...DONE=> AWR 02-2021, BUI 02-2021, PQL 02-2021, NCC 02-2021, ***
*** HEDAL - 2021 COMPLETE - MF - 03-01-2021...DONE=> NCC 03-2021, ***
*** HEDAL - NCC? - MF - 03-01-2021 ***
*** HEDAL - CSP? - MF - 03-02-2021 ...DONE=> PPSC 08-2020, ***
*** HEDAL - WELL CHALI? LSPC? CSP? - MF - 03-02-2021 ***
*** HEDAL - AWR? PHQ? NCC? - MF - 03-05-2021 ...DONE=> BUI 09-2020, ***
*** HEDAL - 2021 COMPLETE - MF - 03-05-2021...DONE=> NWC 02-2021, BUI 02-2021, PQL 02-2021, NCC 02-2021, ***
*** HEDAL - NWC? PQL? NCC? - MF - 03-05-2021 ...DONE=> BUI 12-2020, ***
*** HEDAL - CHALI? NCC? - MF - 03-06-2021 ***
*** HEDAL - CHL? - MF - 03-06-2021 ...DONE=> NWC 02-2021, BUI 02-2021, PQL 02-2021, NCC 02-2021, ***
*** HEDAL - 2021 COMPLETE - MF - 03-08-2021...DONE=> CHALI 01-2021, NCC 01-2021, ***
*** HEDAL - 2021 COMPLETE - MF - 03-02-2021...DONE=> NWC 03-2021, CHL 03-2021, BUI 03-2021, PQL 03-2021, TOBA 03-2021, ***
*** HEDAL - WELL CHILD VISIT? WCC? - MF - 03-06-2021 ***
*** HEDAL -ExAMING? - AZ - 03-01-2021 ...DONE=> AAC 03-2021, LAL 03-2021, MICA 03-2021, BUI 03-2021, TOBA 03-2021, ***"
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for SED, please visit: https://www.gnu.org/software/sed/manual/html_node/The-_0022s_0022-Command.html