# cat lun.txt
/dev/sdb 60002ac00000000000000f0f0000799d
/dev/sdc 60002ac00000000000000fdb0000799d
/dev/sdd 60002ac00000000000000f0f0000799d
/dev/sde 60002ac00000000000000fdb0000799d
#
如何列出给定WWID的所有设备,如下所示:
60002ac00000000000000f0f0000799d
/dev/sdb
/dev/sdd
60002ac00000000000000fdb0000799d
/dev/sdc
/dev/sde
我尝试过使用sort,uniq和awk。但没有运气
答案 0 :(得分:3)
像
这样的东西$ awk '{ device[$2]=device[$2]"\n"$1 } END{ for(i in device) print i,device[i] }' lun.txt
60002ac00000000000000fdb0000799d
/dev/sdc
/dev/sde
60002ac00000000000000f0f0000799d
/dev/sdb
/dev/sdd
device[$2]=device[$2]"\n"$1
创建一个由wwid索引的数组device
,$2
附加$1
,第一列包含数组元素
for(i in device) print i,device[i]
打印数组的内容
答案 1 :(得分:0)
我刚添加了一个标签(\ t)以获得所需的输出。
awk '{ device[$2]=device[$2]"\n\t"$1 } END{ for(i in device) print i,device[i] }' lun.txt
60002ac00000000000000fdb0000799d
/dev/sdc
/dev/sde
60002ac00000000000000f0f0000799d
/dev/sdb
/dev/sdd