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