Linux使用awk去掉重复值的几种情况

时间:2022-06-01 18:21:08

awk去掉重复的模式如下:

!a[$0]++

其中$0表示整行,$1表示第一列,$2表示第二列...

文件如下:

[root@localhost cc]# cat 1.txt
adc 1 2
a d a
a 3 adf
a d b
a 3 adf

1、去重第一列重复的行

[root@localhost cc]# cat test.txt |awk '!a[$1]++{print}'
adc 1 2
a d a

取重复的行第一行输出

2、去重以第一列和第二列重复的行

[root@localhost cc]# cat test.txt |awk '!a[$1" "$2]++{print}'
adc 1 2
a d a
a 3 adf

3、去除重复的行

[root@localhost cc]# cat test.txt |awk '!a[$0]++{print}'
adc 1 2
a d a
a 3 adf
a d b

4、只显示重复行

[root@localhost cc]# cat 2.txt |awk 'a[$0]++{print}'
a 3 adf