Using awk add preffic to dynamic order

Source file

portIndex:  75
portName: slot9 port11
        c0:50:96:05:9f:f2:00:f2
        c0:50:96:05:9f:f2:00:ea
        c0:50:96:05:9f:f2:01:13
        c0:50:96:05:9f:f2:01:12
        c0:50:96:05:9f:f2:01:0b
        c0:50:96:05:9f:f2:01:0a
        c0:50:96:05:9f:f2:01:03
        c0:50:96:05:9f:f2:01:02
        c0:50:96:05:9f:f2:00:fb
        c0:50:96:05:9f:f2:00:fa
portIndex:  78
portName: slot9 port14
        c0:50:96:07:cd:9d:00:86
        c0:50:96:07:cd:9d:00:96
        c0:50:96:07:cd:9d:00:7e
        c0:50:96:07:cd:9d:00:56
portIndex:  79
portName: slot9 port15
        c0:50:96:07:cd:9d:01:1e
        c0:50:96:07:cd:9d:00:fe
        c0:50:96:07:cd:9d:00:de
        c0:50:96:07:cd:9d:01:26
        c0:50:96:07:cd:9d:00:c6
        c0:50:96:07:cd:9d:00:ce
        c0:50:96:07:cd:9d:01:16
        c0:50:96:07:cd:9d:00:f6
        c0:50:96:07:cd:9d:00:a6
portIndex:  89
portName: slot9 port16
        c0:50:96:07:cd:9d:00:b6
        c0:50:96:07:cd:9d:01:2e
        c0:50:96:07:cd:9d:00:5e
        c0:50:96:07:cd:9d:00:ae
        c0:50:96:07:cd:9d:00:4e
        c0:50:96:07:cd:9d:00:66
        c0:50:96:07:cd:9d:00:e6
        c0:50:96:07:cd:9d:00:76
portIndex:  90
portName: slot9 port17
        c0:50:96:07:cd:9d:00:ee
        c0:50:96:07:cd:9d:00:d6
        c0:50:96:07:cd:9d:00:46
        c0:50:96:07:cd:9d:00:06
portIndex:  91
portName: slot9 port18
        c0:50:96:07:cd:9d:00:be

Required Output. Is it possible to add prefix of port details for the following WWn

portIndex:  75 portName: slot9 port11,c0:50:96:05:9f:f2:00:f2
portIndex:  75 portName: slot9 port11,c0:50:96:05:9f:f2:00:ea
portIndex:  75 portName: slot9 port11,c0:50:96:05:9f:f2:01:13
portIndex:  75 portName: slot9 port11,c0:50:96:05:9f:f2:01:12
portIndex:  75 portName: slot9 port11,c0:50:96:05:9f:f2:01:0b
portIndex:  75 portName: slot9 port11,c0:50:96:05:9f:f2:01:0a
portIndex:  75 portName: slot9 port11,c0:50:96:05:9f:f2:01:03
portIndex:  75 portName: slot9 port11,c0:50:96:05:9f:f2:01:02
portIndex:  75 portName: slot9 port11,c0:50:96:05:9f:f2:00:fb
portIndex:  75 portName: slot9 port11,c0:50:96:05:9f:f2:00:fa


portIndex:  78 portName: slot9 port14,c0:50:96:07:cd:9d:00:86
portIndex:  78 portName: slot9 port14,c0:50:96:07:cd:9d:00:96
portIndex:  78 portName: slot9 port14,c0:50:96:07:cd:9d:00:7e
portIndex:  78 portName: slot9 port14,c0:50:96:07:cd:9d:00:56

---------- Post updated at 06:57 AM ---------- Previous update was at 06:02 AM ----------

I tired i am getting output like this

$ cat file-name |egrep "portIndex|portName|c0"|awk '{print $1,$2,$3}'|awk 'NF == 2{PRFX = $1 $2; next} {print PRFX ", " $0}'

Getting output like this. Upto port Index

portIndex:75, portName: slot9 port11
portIndex:75, c0:50:96:05:9f:f2:00:f2
portIndex:75, c0:50:96:05:9f:f2:00:ea
portIndex:75, c0:50:96:05:9f:f2:01:13
portIndex:75, c0:50:96:05:9f:f2:01:12
portIndex:75, c0:50:96:05:9f:f2:01:0b
portIndex:75, c0:50:96:05:9f:f2:01:0a
portIndex:75, c0:50:96:05:9f:f2:01:03
awk '
/portIndex:/ {if (c++ > 0) print ""; port_info="" ; port_info=$0 " "; next}
/portName:/ {port_info=port_info $0 "," ; next}
{$1=$1; print port_info $0}
' source_file
1 Like

Thanks it was working great