我有一个文件,如果第二列的编号为2,我想连接接下来的5行,例如:
show
输出应为:
67 2
a b c
a b
0.1 0.2 0.3 0.4
0.3 0.9 0.7 0.1
09 3
b v c
5 6 7 8
78 2
p o p
q d
1.0 0.9 0.8 0.7
0.4 0.3 0.2 0.1
答案 0 :(得分:0)
awk 解决方案:连接第5行(包括 pattern 行),遇到第2行2
的行列(连接的行除外):
awk '$2==2{i=4;tail=$0; while (i-- && (getline nl) > 0) { tail=tail FS nl } print tail}' file
输出:
67 2 a b c a b 1 2 3 4 0 9 7 1
78 2 p o p q d 0 9 8 7 4 3 2 1