Shell脚本去重的几种方法实例

所属分类: 脚本专栏 / linux shell 阅读数: 1936
收藏 0 赞 0 分享

测试文件

复制代码 代码如下:

[root@bogon ~]# cat >test
jason
jason
jason
fffff
jason

按 Ctr + D保存

1、sort -u

复制代码 代码如下:

[root@bogon ~]# sort -u test
fffff
jason

2、uniq
复制代码 代码如下:

[root@bogon ~]# uniq test
jason
fffff
jason

由此可见,uniq需要先排序后才能去重

3、sort、管道和uniq结合运用
去除重复并保留一份重复的数据

复制代码 代码如下:

[root@bogon ~]# sort test|uniq
fffff
jason

  去除所有重复的行(不保留重复的行),并计算行数
复制代码 代码如下:

[root@bogon ~]# sort test|uniq -uc
      1 fffff

  找出所有重复的行,并计算行数
复制代码 代码如下:

[root@bogon ~]# sort test|uniq -dc
      4 jason

根据某个字段去重

将原有数据改为

复制代码 代码如下:

[root@bogon ~]# more test
jason 1
jason 2
jason 1
fffff 2
jason 3
[root@bogon ~]# sort -k 1,1 -u test
fffff 2
jason 1

  man sort查看sort的用法,-k参数是这么描述的:
复制代码 代码如下:

    -k, --key=POS1[,POS2]
    start a key at POS1 (origin 1), end it at POS2 (default end of line)

  也就是说-k哪几个列进行排序,pos1是开始列,pos2是结束列

更多精彩内容其他人还在看

关于ssh连不上问题的解决方法(必看)

下面小编就为大家带来一篇关于ssh连不上问题的解决方法(必看)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Ubuntu用户之间相互切换方法(推荐)

下面小编就为大家带来一篇Ubuntu用户之间相互切换方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Linux 编程之进程fork()详解及实例

这篇文章主要介绍了Linux 编程之进程fork()详解及实例的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

浅谈安装ORACLE时在Linux上设置内核参数的含义

下面小编就为大家带来一篇浅谈安装ORACLE时在Linux上设置内核参数的含义。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

详谈linux中sar的使用方法

下面小编就为大家带来一篇详谈linux中sar的使用方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

设置Linux系统的空闲等待时间TMOUT的方法

下面小编就为大家带来一篇设置Linux系统的空闲等待时间TMOUT的方法。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

关于Linux反空闲设置的两种方法总结

下面小编就为大家带来一篇关于Linux反空闲设置的两种方法总结。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

linux 查找大目录和大文件的方法(推荐)

下面小编就为大家带来一篇linux 查找大目录和大文件的方法(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
收藏 0 赞 0 分享

Linux makefile 和shell文件相互调用实例详解

这篇文章主要介绍了Linux makefile 和shell文件相互调用实例详解的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享

详解Windows与Linux共享文件夹互相访问

这篇文章主要介绍了 详解Windows与Linux共享文件夹互相访问的相关资料,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多