SED。如何将前一个字符串附加到当前字符串?

时间:2015-05-04 12:24:44

标签: sed

我有一个包含以下字符串的文件:

1.44 1.12 
disk 1.00 0.15 0.21
1.15 1.08
disk2 0.15 0.13 0.11

如何将1个字符串附加到2.不是2到1.要得到这样的结果:

disk 1.00 0.15 0.21 1.44 1.12
disk2 0.15 0.13 0.11 1.15 1.08

例如sed

2 个答案:

答案 0 :(得分:2)

如果您想连续连接两行,您可以在awk中说明这一点:

$ awk 'NR%2 {prev=$0; next} {print $0, prev}' file
disk 1.00 0.15 0.21 1.44 1.12 
disk2 0.15 0.13 0.11 1.15 1.08

这将奇数行存储在变量prev中,稍后将其与偶数行一起打印。

答案 1 :(得分:1)

如果所有需要的行都以awk开头,那么这是另一个data版本:

awk '/^disk/ {print $0,p} {p=$0}' file
disk 1.00 0.15 0.21 1.44 1.12
disk2 0.15 0.13 0.11 1.15 1.08

打高尔夫球:

awk '/^disk/&&$0=$0p; {p=$0}' file
disk 1.00 0.15 0.211.44 1.12
disk2 0.15 0.13 0.111.15 1.08