如果列中的值更改,则打印行

Mic*_*ael 3 awk

我知道通过谷歌搜索这应该很容易,但没有成功。对不起。

我想打印在第一列中定义值的组的第一行。分隔符是制表符。

输入:

A 5
A 3
B 2
B 1
B 77
C 4
C 10000
D 99
Run Code Online (Sandbox Code Playgroud)

输出:

A 5
B 2
C 4
D 99
Run Code Online (Sandbox Code Playgroud)

Rom*_*est 9

最短的一个:

awk -F'\t' '!a[$1]++' file
Run Code Online (Sandbox Code Playgroud)

输出:

A   5
B   2
C   4
D   99
Run Code Online (Sandbox Code Playgroud)
  • !a[$1]++ - 确保在遇到第一列的第一个唯一值时进行行打印