Итак, у меня есть команда, которая выводит строки, разделенные запятыми
Как этот;
"Name","Type","FC Ports","iSCSI Ports","User Group","Cluster","Performance Class"
"mnlas-esxq01","default","100000051EC20A95,100000051EC20A96,100000051EC21AC3,100000051EC21AC4","","","MNLASDMZ CL-1","none"
"mnlas-esxa02","default","100000051EC20D3A,100000051EC20D3B,100000051EC2218D,100000051EC2218E","","","MNLASDMZ CL-1","none"
"mnlas-esx916","default","21000024FF4DDC20,21000024FF4DDC21,21000024FF490CFC,21000024FF490CFD","","","MNLASPRODSCCM CL-1","none"
"mnlas-esx417","default","21000024FF4DDBE8,21000024FF4DDBE9,21000024FF490F56,21000024FF490F57","","","MNLASPRODSCCM CL-1","none"
"mnlas-esx111","default","21000024FF4DDC56,21000024FF4DDC57,21000024FF490F00,21000024FF490F01","","","MNLASPRODSCCM CL-1","none"
"mnlas-p-xca09.pr.int.ptc.com","default","21000024FF514CF4,21000024FF514CF5","","","MNLAS P-xca CL-1","none"
"mnlas-p-xca10.pr.int.ptc.com","default","21000024FF514ED2,21000024FF514ED3","","","MNLAS P-xca CL-1","none"
"mnlas-p-xca11.pr.int.ptc.com","default","21000024FF514FB6,21000024FF514FB7","","","MNLAS P-xca CL-1","none"
"mnlas-esx403.ad.cibc.com","default","10008C7CFF702490,10008C7CFF702491,10008C7CFF702494,10008C7CFF702495,10008C7CFF652604,10008C7CFF652605,10008C7CFF20D0A8,10008C7CFF20D0A9","","","MNLASPRODSQL CL-1","none"
"mnlas-esx401.ad.cibc.com","default","10008C7CFF702484,10008C7CFF702485,10008C7CFF7023F4,10008C7CFF7023F5,10008C7CFF21B3E8,10008C7CFF21B3E9,10008C7CFF65203E,10008C7CFF65203F","","","MNLASPRODSQL CL-1","none"
Как видите, длины тоже разные.
Моя цель - отобразить Name, порты и кластер iSCSI, но иногда некоторые поля также пусты.
Как мне правильно отформатировать его и использовать grep, чтобы найти имя хоста, которое будет выглядеть следующим образом.
Name iSCSI Ports Cluster
mnlas-esxq01 100000051EC20A95,100000051EC20A96 MNLASDMZ CL-1
Кстати, порты iSCSI имеют тенденцию быть немного длиннее из-за количества портов, поэтому поле CLuster должно корректироваться
Я пытался использовать эту команду, но она не сработала. Это говорит
sh-4.2# cat temp/testS | grep -i esx401 | while read "Name" "Type" "iSCSI Ports" "User Group" "Cluster" "Performance Class";do echo $Name $"iSCSI Ports" $Cluster;done
sh: read: `iSCSI Ports': not a valid identifier
Я также пытался определить ее для переменной, но она не работала.
Любая помощь будет оценена.