加入收藏 | 设为首页 | 会员中心 | 我要投稿 济南站长网 (https://www.0531zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 服务器 > 搭建环境 > Linux > 正文

linux – 使用sed或awk来解析多路径输出

发布时间:2021-01-13 16:28:36 所属栏目:Linux 来源:网络整理
导读:我正在尝试解析linux上的多路径输出以查找我正在编写的脚本,并且我无法找到正确的SED或AWK语法来获取它我想要的方式.我一直在浏览各种网站和stackoverflow示例,没有太多运气. 我想找到一种方法: temp (360a98000572d4d2d5834566c64536b46) dm-4 NETAPP,LU

我正在尝试解析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]

**编辑
好吧,所以更难以实现,我找到了没有Netapp默认设置的多路径配置.这使得NETAPP,LUN无法保证在线.我开始做的事情:

/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]

(编辑:济南站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读