linux – 使用sed或awk来解析多路径输出
发布时间:2020-12-14 01:57:48 所属栏目:Linux 来源:网络整理
导读:我正在尝试解析 linux上的多路径输出以查找我正在编写的脚本,并且我无法找到正确的SED或AWK语法来获取它我想要的方式.我一直在浏览各种网站和stackoverflow示例,没有太多运气. 我想找到一种方法: temp (360a98000572d4d2d5834566c64536b46) dm-4 NETAPP,LUN
我正在尝试解析
linux上的多路径输出以查找我正在编写的脚本,并且我无法找到正确的SED或AWK语法来获取它我想要的方式.我一直在浏览各种网站和stackoverflow示例,没有太多运气.
我想找到一种方法: temp (360a98000572d4d2d5834566c64536b46) dm-4 NETAPP,LUN [size=20G] 2:0:0:4 sde 8:64 [active][ready] 1:0:0:4 sdm 8:192 [active][ready] redo (360a98000572d4d2d5834566c646c366c) dm-3 NETAPP,LUN [size=5.0G] 2:0:0:3 sdd 8:48 [active][ready] 1:0:0:3 sdl 8:176 [active][ready] 看起来像: temp (360a98000572d4d2d5834566c64536b46) dm-4 NETAPP,LUN [size=20G] 2:0:0:4 sde 8:64 active][ready] temp (360a98000572d4d2d5834566c64536b46) dm-4 NETAPP,LUN [size=20G] 1:0:0:4 sdm 8:192 [active][ready] redo (360a98000572d4d2d5834566c646c366c) dm-3 NETAPP,LUN [size=5.0G] 2:0:0:3 sdd 8:48 [active][ready] redo (360a98000572d4d2d5834566c646c366c) dm-3 NETAPP,LUN [size=5.0G] 1:0:0:3 sdl 8:176 [active][ready] **编辑 /sbin/multipath -ll | grep -v "round-robin"| sed 's/[feat.*//g' | sed ':a; $!N;s/n([^n]*[size)/ 1/;ta;P;D' 把大小放在主线上给我一些其他东西来匹配: 360a98000572d4d2d5834664e68323436 dm-6 NETAPP,LUN [size=50G] _ 1:0:0:0 sda 8:0 [active][ready] 360a98000572d4d2d5834664e68395951 dm-7 NETAPP,LUN [size=275G] _ 1:0:0:7 sdb 8:16 [active][ready] 但是,我无法得到下面的任何一个例子来匹配“G [$”(我知道如果有任何terrabyte卷,我将需要另外一行T)并给我正确的输出. 感谢下面的每个人的建议 我知道如何清理间距,所以我会在输出正确之后再这样做.将开始多路径信息的所有行都以“LUN”结尾.每个LUN线(sdx设备)下的服务器可以有1到8个路径. “()”之前的部分可以是文本(别名)或数字. 解决方法
单程:
script.awk的内容: $1 ~ /^([[:digit:]]:){3}[[:digit:]]$/ { printf "%s %sn",line,$0; next; } ##$1 ~ /temp|redo/ { $0 ~ /LUN$/ { getline l; line = $0 " " l; } 假设infile有问题的内容,运行脚本如: awk -f script.awk infile 输出如下: temp (360a98000572d4d2d5834566c64536b46) dm-4 NETAPP,LUN [size=20G] 2:0:0:4 sde 8:64 [active][ready] temp (360a98000572d4d2d5834566c64536b46) dm-4 NETAPP,LUN [size=20G] 1:0:0:4 sdm 8:192 [active][ready] redo (360a98000572d4d2d5834566c646c366c) dm-3 NETAPP,LUN [size=5.0G] 2:0:0:3 sdd 8:48 [active][ready] redo (360a98000572d4d2d5834566c646c366c) dm-3 NETAPP,LUN [size=5.0G] 1:0:0:3 sdl 8:176 [active][ready] (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |