我想知道是否甚至可以从具有以下格式的文本文件中获取特定数据:
Adapter Number: 1
Adapter Name: elxfc
Device 1
SCSI id: 1
LUN: 0
Vendor: HP
Product: Ultrium 4-SCSI
Firmware: H6FW
Adapter Number: 2
Adapter Name: elxfc
Device 1
SCSI id: 1
LUN: 0
Vendor: HP
Product: Ultrium 4-SCSI
Firmware: H6FW
Changer 1
SCSI id: 1
LUN: 1
Vendor: HP
Product: MSL G3 Series
Firmware: 8.70
最后,请在此处填写表格,以获取有关设备的信息,以获取类似以下内容的输出:
Ultrium 4-SCSI, 1 1 0
Ultrium 4-SCSI, 2 1 0
MSL G3 Series, 2 1 1
我已经尝试了一些基本的字符串操作,但是没有运气。问题是要在相同的“主”适配器号中捕获第二个设备。
就像是:
switch -regex -file $inputFile {
"Adapter Number:\s+(\d+)" { $adapterNumber = $Matches[1]; break; }
"\s+SCSI id:\s+(\d+)" { $scsiId = $Matches[1]; break; }
"\s+LUN:\s+(\d+)" { $lun = $Matches[1]; break; }
"\d+Product:\s+(.+)" {
$prod = $Matches[1];
"{0}, {1} {2} {3}" -f $prod, $adapterNumber, $scsiId, $lun;
}
}
应该做。
使用-regex
巫婆,匹配用正则表达式完成,-file
传递的文件的每一行都通过开关进行处理(有关PSH的更多详细信息,请参见在线switch
)。否则,它只是保持Product:
匹配时输出所需的状态。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句