用一列替换重复的行

用一列替换重复的行

我有一个以下格式的文件。

[.[1]

我尝试以我所知道的所有可能的方式使用 awk 和 sed,但找不到以我正在寻找的格式重新格式化文件的方法。我想要以下格式的文件。

在此输入图像描述

任何建议/帮助将不胜感激。先感谢您。

问候, 达山

答案1

像这样的输入——

Physical Disk : 'IBM (67)
device=/dev/mapper/1234
shareddisk=true
Physical Disk : 'IBM (68)
device=/dev/mapper/6789
shareddisk=true

以下 awk 脚本输出 --

awk -v RS="" 'BEGIN{print "Phys disk  Device                 shareddisk"} {j=0; for (i=0; i<3; i++) {print substr($(4+j),2) ,$(5+j), $(6+j), $(7+j); j+=7} }' input

Phys disk  Device                  shareddisk
IBM (67) device=/dev/mapper/1234 shareddisk=true
IBM (68) device=/dev/mapper/6789 shareddisk=true

相关内容