Linux uniq 命令用于处理文本内容中的重复行

这里我们只介绍其常用参数,其完整用法可参见man uniq

例如,我们有如下文件内容:

>>> cat log.txt
_______________
hello
HEllo
world
world
hello

使用uniq 命令,不加任何参数处理,注意,这里的两行hello 并没有相邻,所以最终还是显示了两行hello,而两行world 是相邻的,所以去掉了其中一行world

>>> uniq log.txt
hello
HEllo
world
hello

如果想将不相邻的相同内容也去重,一般需要与sort 命令配合使用,先排序,再去重,如下(这时所有的重复行都被去重了):

>>> cat log.txt | sort| uniq
____________________________
HEllo
hello
world

使用-s参数,忽略前N 个字符(此处忽略了前2 个字符):

>>> cat log.txt | sort| uniq -s 2
_________________________________
HEllo
world

使用-i 参数,忽略大小写(最终只剩下了大写的):

>>> cat log.txt | sort| uniq -i
_______________________________
HEllo
world

使用-d 参数,只输出重复的行HEllo 没有重复,所以没有输出):

>>> cat log.txt | sort| uniq -d
_______________________________
hello
world

使用-u 参数,与-d 参数相反,只输出不重复的行HEllo 没有重复,所以输出):

>>> cat log.txt | sort| uniq -u
———————————————————————————————
HEllo

使用-c 参数,计算重复行的次数,如下(第一列为出现的次数):

>>> cat log.txt | sort| uniq -c
_______________________________
1 HEllo
2 hello
2 world

按照重复次数进行反向排序

cat log.txt | sort| uniq -c| sort -nr
—————————————————————————————————————
2 world
2 hello
1 HEllo

下面总结以上介绍到的参数:

参数 含义
-s N 忽略前N 的字符
-i 忽略大小写
-d 只输出重复的行
-u 只输出不重复的行
-c 对重复的行进行计数

(完。)

linux uniq 命令实用手册的更多相关文章

  1. linux sort 命令实用手册

    Linux 中的sort 命令是一个很实用的工具,用于对文本内容以行为单位进行ASCII 码排序,默认按照升序进行排序(当然也可以按照降序). sort 命令的格式如下: sort `参数` `文件名 ...

  2. linux awk 命令实用手册

    0,简介 Linux awk 是一个实用的文本处理工具,它不仅是一款工具软件,也是一门编程语言.awk 的名称来源于其三位作者的姓氏缩写,其作者分别是Alfred Aho,Peter Weinberg ...

  3. Linux uniq 命令

    Linux uniq 命令  Linux 命令大全 Linux uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用. uniq 可检查文本文件中重复出现的行列. 语法 ...

  4. [转]linux uniq 命令详解

    转自:http://blog.csdn.net/tianmohust/article/details/6997683 uniq 命令   文字 uniq 是LINUX命令 用途 报告或删除文件中重复的 ...

  5. Linux uniq命令

    200 ? "200px" : this.width)!important;} --> 介绍 uniq命令是一个文本去重命令,它能对标准输入和文本文件进行去重操作,并且能将结 ...

  6. linux dd命令实用详解

    linux dd命令刻录启动U盘详解 dd命令做usb启动盘十分方便,只须:sudo dd if=xxx.iso of=/dev/sdb bs=1M 用以上命令前必须卸载u盘,sdb是你的u盘,bs= ...

  7. linux uniq命令用法

    uniq命令: 对指定的ASCII文件或标准输入进行唯一性检查,以判断文本文件中重复出现的行,常用于分析日志:查看tcp各个状态连接数,ip或域名连接数排名等等场景,一般与 sort 命令结合使用. ...

  8. Linux sort命令中文手册(info sort翻译)

    说明: (1).本手册只挑选了有用的信息进行翻译,如要查看完完整整的内容,请自行info sort. (2).译文中,在括号中使用了"注"的,为本人所加,非原文内容,助于理解和说明 ...

  9. Linux uniq命令详解

    uniq常见命令参数 用法:uniq [选项]... [文件] 从输入文件或者标准输入中筛选相邻的匹配行并写入到输出文件或标准输出. 不附加任何选项时匹配行将在首次出现处被合并. 长选项必须使用的参数 ...

随机推荐

  1. 物体的三维识别与6D位姿估计:PPF系列论文介绍(三)

    作者:仲夏夜之星 Date:2020-04-08 来源:物体的三维识别与6D位姿估计:PPF系列论文介绍(三) 文章“A Method for 6D Pose Estimation of Free-F ...

  2. RabbitMQ集群架构(HA)并结合.NET Core实操

    一.前言 已经一年没有更新博客了,由于公司事务比较多,并且楼主我也积极在公司项目中不断实践.net core.DDD以及Abp vnext,也积累了一些吐血经验,目前我在做一家在线教育公司负责智慧校园 ...

  3. 解决VS项目程序运行完就自动关闭窗口

    VS的程序运行完会关闭窗口,需要设置工程属性 笔者虽然是Java开发者,但是学习用到了C++与C语言,之前使用的是dev与codeblock并没有这个情况,那么如何解决 首先你有这个hello,wor ...

  4. 1016 Phone Bills (25 分)

    A long-distance telephone company charges its customers by the following rules: Making a long-distan ...

  5. ASP.NET Core中的Controller

    ASP.NET CORE出现之前我们实现的Controller,MVC都继承自Controller基类,WebApi的话继承自ApiController.现在ASP.NET CORE把MVC跟WebA ...

  6. 使用Homebrew在Mountain Lion上安装MySQL

    一.安装mysql brew install mysql 二.开机启动mysql brew info mysql 根据提示,设置开机启动 三.设置mysql开启和停止命令 alias mysql-st ...

  7. 来,让我们一起来学习VIM

    什么是VIM vim是一个高度可定制的文本编辑器,被很多专业的程序员使用,并获得了程序员的一致好评. 下图是Vim的官网vim.org 你可以在Vim的官网免费下载并使用Vim,同样可以在Vim官网学 ...

  8. 天天写order by,你知道Mysql底层执行原理吗?

    前言 文章首发于微信公众号[码猿技术专栏]. 在实际的开发中一定会碰到根据某个字段进行排序后来显示结果的需求,但是你真的理解order by在 Mysql 底层是如何执行的吗? 假设你要查询城市是苏州 ...

  9. 34.2 字节流 InputStreamReader OutputStreamWriter

    使用方法同字符流,不一样的是数据类型是字节 copydemo public static void main(String[] args) throws IOException { InputStre ...

  10. 学习《深入应用c++11》2

    &&   universal references(未定的引用类型),它必须被初始化,它是左值还是右值取决于它的初始化,如果&&被一个左值初始化,它就是一个左值;如果它 ...