# If you'd like to omit non-matching lines from the result; add ';d' to the end of the expression.
sed -E 's/"(?=(?:(?:[^<](?!%>))*(?:<%[^%]+%>)(?:[^<](?!%>))*)*$)/#/g;t' <<< "select \"SomethingQuoted\", \"SomethingQuoted\" , \"SomethingQuoted\" , \"SomethingQuoted\" to_char(max(decode( landing_name,'DX_L_MDC_RDM', BATCH_ID , -1))) as MDC_RDM_BATCH_ID
,to_char(max(decode( landing_name,'DX_L_ESB_SPARK', BATCH_ID , -1))) as ESB_SPARK_BATCH_ID
from (
select max(u.batch_id) as BATCH_ID , u.landing_name
from \"<%=odiRef.getSchemaName(\"DJC_METADATA\",\"D\")%> .u$dx_batch_log u
\"SomethingQuoted\"
join <%=odiRef.getSchemaName(\"DJC_METADATA\",\"D\")%> .djc$dx_landing la
on u.landing_name = la.landing_name
and u.batch_id >= la.last_deleted_batch_id
join <%=odiRef.getSchemaName(\"DJC_METADATA\",\"D\")%> .djc$load_log lo
on u.load_id = lo.load_id
and lo.status = 'COMPLETE'
and lo.load_id > 0
\"SomethingQuoted\"
\"SomethingQuoted\"
where u.landing_name in ('DX_L_MDC_RDM', 'DX_L_ESB_SPARK')
and u.chkp_status = 'FINISHED'
group by u.landing_name
) \"<%==\" \"=%>
"
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