awk去重以某列重复的行

lsof   |grep delete    |awk '{print $2}'    |awk '!a[$1]++{print}'      查看delete进程,用awk筛选出第二列也就是进程号那一列,再次用awk去除重复的行

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

去除第一列重复的行:

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

重复的行取最上面一行记录

去重以第一列和第二列重复的行:

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

去除重复的行:

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

只显示重复行:

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

猜你喜欢

转载自www.cnblogs.com/leon2659/p/9821929.html
今日推荐