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

 更新时间:2015年07月10日 10:53:39   投稿:junjie  
这篇文章主要介绍了Shell脚本去重的几种方法实例,本文直接给出代码实例,需要的朋友可以参考下

测试文件

复制代码 代码如下:

[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是结束列

相关文章

  • shell脚本5种执行方式及脚本不同的执行方法和区别详解

    shell脚本5种执行方式及脚本不同的执行方法和区别详解

    我们都知道bash shell 脚本的方法有多种,下面这篇文章主要给大家介绍了关于shell脚本5种执行方式及脚本不同的执行方法和区别的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
    2022-07-07
  • 使用Shell 脚本实现每隔100行插入一条记录且记录第一列包含行号其他列不变

    使用Shell 脚本实现每隔100行插入一条记录且记录第一列包含行号其他列不变

    本文通过实例代码给大家讲解了使用Shell 脚本实现每隔100行插入一条记录且记录第一列包含行号其他列不变的实现方法,非常不错,具有参考借鉴价值,需要的朋友参考下
    2016-12-12
  • Shell脚本中awk指令的用法

    Shell脚本中awk指令的用法

    今天小编就为大家分享一篇关于Shell脚本中awk指令的用法,小编觉得内容挺不错的,现在分享给大家,具有很好的参考价值,需要的朋友一起跟随小编来看看吧
    2019-03-03
  • Linux中使用locate和find进行不区分大小写的文件搜索

    Linux中使用locate和find进行不区分大小写的文件搜索

    在日常使用计算机的过程中,尤其是处理大量文件时,快速找到特定文件变得尤为重要,Linux系统提供了许多命令行工具,其中“locate”和“find”是两个常用的文件搜索工具,本文给大家介绍了如何在Linux中使用locate和find进行不区分大小写的文件搜索
    2024-05-05
  • Linux上的文件搜索命令实例详解

    Linux上的文件搜索命令实例详解

    这篇文章主要介绍了Linux上的文件搜索命令实例详解,需要的朋友可以参考下
    2017-10-10
  • pidof命令获取不到程序的pid问题解决

    pidof命令获取不到程序的pid问题解决

    这篇文章主要为大家介绍了pidof命令获取不到程序的pid问题解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-09-09
  • shell 安全脚本的实现

    shell 安全脚本的实现

    本文主要介绍了shell 安全脚本的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-01-01
  • shell产生随机数七种方法的实现

    shell产生随机数七种方法的实现

    这篇文章主要介绍了shell产生随机数七种方法的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-12-12
  • Linux 中 RPM包 安装 查询 卸载命令小结及yum命令详解

    Linux 中 RPM包 安装 查询 卸载命令小结及yum命令详解

    RPM 的全称为Redhat Package Manager ,是由Redhat 公司提出的,用于管理Linux 下软件包的软件。Linux 安装时,除了几个核心模块以外,其余几乎所有的模块均通过RPM 完成安装。RPM 有五种操作模式,分别为:安装、卸载、升级、查询和验证
    2015-11-11
  • 实现MySQL定时批量检查表repair和优化表optimize table的shell脚本

    实现MySQL定时批量检查表repair和优化表optimize table的shell脚本

    这篇文章主要介绍了实现MySQL定时批量检查表repair和优化表optimize table的shell脚本,非常实用,需要的朋友可以参考下
    2014-07-07

最新评论