shell 参加考试并在线粘贴

9o685dep  于 2023-03-09  发布在  Shell
关注(0)|答案(2)|浏览(92)

我有一些关于使用shell脚本处理数据的问题。我有这样的数据

Instance: A
    x.x.x.x rmt up
    x.x.x.x rmt down
    x.x.x.x rmt up

Instance: B
   x.x.x.x up

我想使用shell脚本输出,如下所示

A x.x.x.x rmt up
A x.x.x.x rmt down
A x.x.x.x rmt up
B x.x.x.x rmt up

我尝试了,但结果不符合预期:
使用cat temp grep -i instance | sed 's/.*: //' : result only A和B
谢谢之前

wribegjk

wribegjk1#

您可以使用awk执行以下操作:

awk '/^Instance/ {ins = $2; next} NF {print ins,$1,$2,$3}' file

A x.x.x.x rmt up
A x.x.x.x rmt down
A x.x.x.x rmt up
B x.x.x.x up
xytpbqjk

xytpbqjk2#

这是awk的任务:

$ awk '$1 == "Instance:"{val=$2;next} NF{$1=$1; print val, $0}' file
A x.x.x.x rmt up
A x.x.x.x rmt down
A x.x.x.x rmt up
B x.x.x.x up

请注意,$1=$1将重新排列超出的空格

相关问题