一,uniq命令的用途

1, 作用:

从输入文件或标准输入中找到相邻的匹配行,

并写入到输出文件或标准输出

2, 使用时通常会搭配sort使用

说明:刘宏缔的架构森林是一个专注架构的博客,地址:https://www.cnblogs.com/architectforest

对应的源码可以访问这里获取: https://github.com/liuhongdi/

说明:作者:刘宏缔 邮箱: 371125307@qq.com

二,查看uniq命令所属的rpm包

[root@blog nginxlogs]$ whereis uniq
uniq: /usr/bin/uniq /usr/share/man/man1/uniq.1.gz /usr/share/man/man1p/uniq.1p.gz [root@blog nginxlogs]$ rpm -qf /usr/bin/uniq
coreutils-8.30-6.el8.x86_64

默认已安装到了centos8系统,如果找不到命令或误删除,

可以用dnf来安装

[root@blog nginxlogs]$ dnf install coreutils

三,查看uniq的版本和帮助

1,查看版本

[root@blog nginxlogs]$ uniq --version
uniq (GNU coreutils) 8.30
Copyright (C) 2018 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <https://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law. Written by Richard M. Stallman and David MacKenzie.

2,查看帮助

[root@blog nginxlogs]$ uniq --help

3,查看手册

[root@blog nginxlogs]$ man uniq

四,uniq命令的使用例子

1,增加统计重复出现的次数

#-c: 增加显示当前行重复出现的次数

[root@blog nginxlogs]$ cut -d ' ' -f 1 file_meet.access_log | sort | uniq -c
1 106.15.200.123
875 223.72.53.168
9 47.101.200.88
9 47.101.58.46
...

当然可以加一个倒排

[root@blog nginxlogs]$ cut -d ' ' -f 1 file_meet.access_log | sort | uniq -c | sort -k1 -nr
875 223.72.53.168
9 47.101.58.46
9 47.101.200.88
1 106.15.200.123
...

2,只显示有重复的行

#-d: 只显示重复出现的行

[root@blog nginxlogs]$ cut -d ' ' -f 1 file_meet.access_log | sort | uniq -d
223.72.53.168
47.101.200.88
47.101.58.46
...

3,仅显示没有重复仅出现一次的行

#-u:uniqe

[root@blog nginxlogs]$ cut -d ' ' -f 1 file_meet.access_log | sort | uniq -u
106.15.200.123

4,其他参数:

-s: 指定在每行开始处需要忽略的字符数

-i:  忽略每行字母的大小写

五,uniq命令使用需要注意的地方:

如果重复的行不相邻,uniq 命令不会起作用

所以通常我们会搭配sort命令使用,先排序,使重复的行相邻出现,

这样uniq命令就可以生效了

六,查看centos的版本

[root@blog nginxlogs]$ cat /etc/redhat-release
CentOS Linux release 8.0.1905 (Core)

linux(centos8):用uniq去除文本中重复的行(去重)的更多相关文章

  1. python去除文件中重复的行

    去除文件中重复的行 import os with open('db.txt','r',encoding='utf-8') as read_f,\ open('.db.txt.swap','w',enc ...

  2. php去除数组中重复数据

    <?php /** * 去除数组中重复数据 * by www.jbxue.com **/ $input = array("a" => "green" ...

  3. [转]java去除List中重复的元素

    java去除List中重复的元素 如果用Set ,倘若list里边的元素不是基本数据类型而是对象, 那么请覆写Object的boolean   equals(Object   obj)   和int  ...

  4. 关于iOS去除数组中重复数据的几种方法

    关于iOS去除数组中重复数据的几种方法   在工作工程中我们不必要会遇到,在数组中有重复数据的时候,如何去除重复的数据呢? 第一种:利用NSDictionary的AllKeys(AllValues)方 ...

  5. php 去除数组中重复元素

    去除数组中重复元素, 找了下可以一下两个函数 php array_flip()与array_uniqure() $arr = array(…………) ;// 假设有数组包含一万个元素,里面有重复的元素 ...

  6. JS去除数组中重复值的四种方法

    JS去除数组中重复值的四种方法 1 /// <summary>            o[this[i]] = "";  }      }       newArr.p ...

  7. javascript 去除字符串中重复字符

    /** * 去除字符串中重复的字符,以下提供2种方法, * removeRepeat()为自己所想: * removeRepeat2()参考网上思路补充的 * removeRepeat3()敬请期待· ...

  8. SQL Server 复制表结构以及数据,去除表中重复字段

    --复制另一个数据库中的某张表的结构及数据--select * from Test.dbo.TestTable(查询表中所有数据) --into [表名] 插入当前数据库新表,如果没有该表就创建 se ...

  9. 集合求交集 & 去除列表中重复的元素

    集合求交集: set1 = {1,2,3,4,5} set2 = {4,5,6,7,8} 交集:set3 = set1 & set2 print(ste3) #结果为{4,5} 或者ste1. ...

随机推荐

  1. oracle之三手工完全恢复

    手工完全恢复 3.1 完全恢复:通过备份.归档日志.current log ,将database恢复到failure 前的最后一次commit状态. 3.2 完全恢复的步骤 1)restore: OS ...

  2. HBase启用压缩

    1. 压缩算法的比较 算法 压缩比 压缩 解压 GZIP 13.4% 21MB/s 118MB/s LZO 20.5% 135MB/s 410MB/s Snappy/Zippy 22.2% 172MB ...

  3. 【好消息】博客迁移到github,求关注,求star,求支持

    博客迁移到github 地址:https://github.com/dirkhe1051931999/hjBlog

  4. k8s健康检查(七)

    默认的健康检查 强大的自愈能力是 Kubernetes 这类容器编排引擎的一个重要特性.自愈的默认实现方式是自动重启发生故障的容器.除此之外,用户还可以利用 Liveness 和 Readiness ...

  5. RXJAVA之变换操作

    RXJAVA提供了以下变换操作,对Observable的消息进行变换操作: 1.window 定期将来自Observable的数据分拆成一些Observable窗口,然后发射这些窗口,而不是每次发射一 ...

  6. 树莓派Raspberry Pi OS(原Raspbian)系统常用配置

    首次开机自动连接WIFI 在资源浏览器中打开刚写好Raspberry Pi OS(之前叫Raspbian)系统的SD卡,如果有boot目录则在boot目录中新建一个名为wpa_supplicant.c ...

  7. CPF 入门教程 - 绘图(四)

    CPF NetCore跨平台UI框架,增加了Vlc支持跨平台播放视频. 系列教程 CPF 入门教程(一) CPF 入门教程 - 数据绑定和命令绑定(二) CPF 入门教程 - 样式和动画(三) CPF ...

  8. 吴恩达-机器学习+正则化regularization

  9. RIP思维导图

  10. 中秋礼物!开源即时通信GGTalk安卓版全新源码!

    经过连续两个多月的努力(开发.调试.测试.改bug),我们终于赶在中秋国庆之前能把全新的GGTalk Android版本献给大家. 4年之前我们就推出了GGTalk Android的第一个版本,但是功 ...