如何使用awk修改基于第一列的列?

时间:2016-11-06 01:47:11

标签: linux awk

我有这样的数据,我需要自动化一个简单的任务。我需要创建一行的第二个值,与序列中下一行中的第一个单元格相同,如下所示:

First Second
1   2
4   6
10  12
25  28
30  35

成为

First Second
1   4
4   10
10  25
25  30
30  35

2 个答案:

答案 0 :(得分:1)

$ awk 'NR==1; NR>2{print p[1], $1} {split($0,p)} END{print p[1], p[2]}' file
First Second
1 4
4 10
10 25
25 30
30 35

答案 1 :(得分:0)

应该注意你的输出是错误的,你不能知道35因为那行还没有被读过:

$ awk 'NR > 1 {print $1} {printf $1 "\t"}' file
1       4
4       10
10      25
25      30
30