linux – 如何删除基于列值的重复行?

前端之家收集整理的这篇文章主要介绍了linux – 如何删除基于列值的重复行?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
鉴于下表
123456.451 entered-auto_attendant
 123456.451 duration:76 real:76
 139651.526 entered-auto_attendant
 139651.526 duration:62 real:62`
 139382.537 entered-auto_attendant

使用基于Linux的bash shell脚本,我想根据第1列(具有长号的那个)的值删除所有行.考虑到这个数字是一个可变数字

我试过了

awk'{a [$3]}!(一个[$3] -1)’文件

sort -u | uniq

但是我没有得到类似这样的结果,在第一列的所有值之间进行比较,删除所有重复项并显示

123456.451 entered-auto_attendant
 139651.526 entered-auto_attendant
 139382.537 entered-auto_attendant

解决方法

你没有给出预期的输出,这对你有用吗?
awk '!a[$1]++' file

使用您的数据,输出是:

123456.451 entered-auto_attendant
139651.526 entered-auto_attendant
139382.537 entered-auto_attendant

并且此行仅打印唯一的column1行:

awk '{a[$1]++;b[$1]=$0}END{for(x in a)if(a[x]==1)print b[x]}' file

输出

139382.537 entered-auto_attendant

猜你在找的Linux相关文章