我有一个包含以下内容的文本文件(b b d等...包含一些随机值):
1 a
1 b
2 c
2 d
2 e
2 f
6 g
6 h
6 i
12 j
12 k
是否有办法根据第一个字符串的内容将行与某些字符分开,知道这些数字总是会增加,但也可能会有所不同。分离将是第一个字符串递增时,从1到2,然后是2到6等......
输出将是这样的(这里我想使用----------作为分离):
1 a
1 b
----------
2 c
2 d
2 e
2 f
----------
6 g
6 h
6 i
----------
12 j
12 k
答案 0 :(得分:4)
awk 'NR>1 && old != $1 { print "----------" } { print; old = $1 }'
如果它不是第一行且old
中的值与$1
中的值不同,请打印分隔符。然后无条件地打印当前行,并在$1
中记录old
的值,以便我们记得下次。重复直到完成。