Shell 如何根据第1列中的值分隔行

Shell 如何根据第1列中的值分隔行,shell,Shell,我有一个文本文件,其中包含以下内容。。。包含一些随机值: 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 ---------

我有一个文本文件,其中包含以下内容。。。包含一些随机值:

 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
如果它不是第一行,并且old中的值与$1中的值不同,请打印分隔符。然后无条件打印当前行,并记录$1的旧值,以便我们下次记住。重复,直到完成


如果它不是第一行,并且old中的值与$1中的值不同,请打印分隔符。然后无条件打印当前行,并记录$1的旧值,以便我们下次记住。重复操作直到完成。

是的,它工作得非常好,这是一个非常好的命令:谢谢你的这个命令。是的,它工作得非常好,这是一个非常好的命令:谢谢你的这个命令。
awk 'NR>1 && old != $1 { print "----------" } { print; old = $1 }'