我正在尝试从多路径DS4800_VG_STAGE*的输出中提取mpath名称"DS4800_VG_STAGE*“和联机路径数。
DS4800_VG_STAGE_2 (3600a0b80004710ce00001ce24e08ce1c) dm-6 IBM,1815 FAStT
size=241Ghwhandler=1 rdac
循环系统0 prio=100
1:0:1:5 sdc 8:32活动
循环系统0 prio=0
2:0:1:5 sdf 8:80活动
DS4800_VG_STAGE_1 (3600a0b80004706be00001ece4e08ca4f) dm-8 IBM,1815 FAStT
size=24112Ghwhandler=1 rdac
循环系统0 prio=100
1:0:1:5 sdc 8:32活动
循环系统0 prio=0
2:0:1:5 sdf 8:80活动
我成功地提取了路径名,但是很难将多行输出的其余部分收集到一个组中,这样我就可以处理group2中有多少条路径是在线的。
^(\w+\s+).+?$$((?:[^\\\\]+\n+)+)Match1:
Group 1 = "DS4800_VG_STAGE_2"
Group 2 = "[size=241G][features=1 queue_if_no_path][hwhandler=1 rdac][rw]"
Match2:
Group 1 = "DS4800_VG_STAGE_1"
Group 2 = "[size=24112G][features=1 queue_if_no_path][hwhandler=1 rdac][rw]"
任何帮助都会很感激的。
提前感谢
发布于 2011-07-05 23:38:04
试着用这个代替:
^(\w+\s+).+?$$\n((?:.+?\n+)+)我认为,在您的表达式中,您使用了^\,这将防止任何反斜杠行在表达式中被捕获。但是每一行(前两行之后)都以反斜杠开头。
https://stackoverflow.com/questions/6589761
复制相似问题