Field seperator with awk

Hi, input data format:

echo '        <APPLICATION="APPLSG" SUB_APPLICATION="DLY" JOBNAME="DPL_BN_RE_CCMS_SA" CMDLINE="run_job.ksh %%PARAM1 %%PARAM2" TASKTYPE="Command" />' 

expected format:

"APPLSG", "DLY", "DPL_BN_RE_CCMS_SA", "run_job.ksh %%PARAM1 %%PARAM2"

my command:

echo '        <APPLICATION="APPLSG" SUB_APPLICATION="DLY" JOBNAME="DPL_BN_RE_CCMS_SA" CMDLINE="run_job.ksh %%PARAM1 %%PARAM2" TASKTYPE="Command" />' | awk -F '[=]["]|["][ ]' '{print $2, $4, $6, $8}'

can you please clarify how to tweak the Field seperator so i get as expected..

That's a bit difficult with spaces inside the "job..."- field.

How about:

 $ echo '        <APPLICATION="APPLSG" SUB_APPLICATION="DLY" JOBNAME="DPL_BN_RE_CCMS_SA" CMDLINE="run_job.ksh %%PARAM1 %%PARAM2" TASKTYPE="Command" />' | awk -F'"' '{for(i=2;i<NF-2;i=i+2) printf("%s%s%s%s",FS,$i,FS,(i+4>NF)?ORS:OFS)}' OFS=,
"APPLSG","DLY","DPL_BN_RE_CCMS_SA","run_job.ksh %%PARAM1 %%PARAM2"
2 Likes