发布于 2年前

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

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
©2020 edoou.com   京ICP备16001874号-3