Linux系统中uniq命令的基本使用教程

   uniq [选项] 文件

  说明:这个命令读取输入文件,并比较相邻的行。在正常情况下,第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的。该命令加工后的结果写到输出文件中。输入文件和输出文件必须不同。如果输入文件用“- ”表示,则从标准输入读取。

  该命令各选项含义如下:、

  – c 显示输出中,在每行行首加上本行在文件中出现的次数。它可取代- u和- d选项。

  – d 只显示重复行。

  – u 只显示文件中不重复的各行。

  – n 前n个字段与每个字段前的空白一起被忽略。一个字段是一个非空格、非制表符的字符串,彼此由制表符和空格隔开(字段从0开始编号)。

  +n 前n个字符被忽略,之前的字符被跳过(字符从0开始编号)。

  – f n 与- n相同,这里n是字段数。

  – s n 与+n相同,这里n是字符数。

  接下来通过实践实例说明:

  代码如下:

  [root@stu100 ~]# cat test

  boy took bat home

  boy took bat home

  girl took bat home

  boy took bat home

  boy took bat home

  dog brought hat home

  dog brought hat home

  dog brought hat home

  看test文件的内容

  代码如下:

  [root@stu100 ~]# uniq test

  boy took bat home

  girl took bat home

  boy took bat home

  dog brought hat home

  uniq命令不加任何参数,仅显示连续重复的行一次

  代码如下:

  [root@stu100 ~]# uniq -c test

  2 boy took bat home

  1 girl took bat home

  2 boy took bat home

  3 dog brought hat home

  1

  -c 参数显示文件中每行连续出现的次数。

  代码如下:

  [root@stu100 ~]# cat test |sort | uniq -c

  1

  4 boy took bat home

  3 dog brought hat home

  1 girl took bat home

  排序后再显示

  代码如下:

  [root@stu100 ~]# uniq -d test

  boy took bat home

  boy took bat home

  dog brought hat home

  -d选项仅显示文件中连续重复出现的行。

  代码如下:

  [root@stu100 ~]# uniq -u test

  girl took bat home

  -u选项显示文件中没有连续出现的行。

  代码如下:

  [root@stu100 ~]# uniq -f 2 -s 2 test

  boy took bat home

  忽略每行的前2个字段,忽略第二 个空白字符和第三个字段的首字符,结果at home

  代码如下:

  [root@stu100 ~]# uniq -f 1 test

  boy took bat home

  dog brought hat home

  忽 略每行的第一个字段,这样boy ,girl开头的行看起来是连续重复的行。

  代码如下:

  [root@stu100 ~]# uniq -D test

  boy took bat home

  boy took bat home

  boy took bat home

  boy took bat home

  dog brought hat home

  dog brought hat home

  dog brought hat home

  显示所有重复的行,每个重复的行都显示

  当你有一个包含相同条目的雇员(employee)的文件,你可以以如下方式来删除相同的条目

  代码如下:

  $ sort namesd.txt | uniq

  $ sort –u namesd.txt

  如果你想知道有多少行是相同的,可以像下面这个做。以下例子中的第一列显示该行的重复数量。在本例中,以Alex和Emma开头的行,在文件中有两个重复行。

  代码如下:

  $ sort namesd.txt | uniq –c

  2 Alex Jason:200:Sales

  2 Emma Thomas:100:Marketing

  1 Madison Randy:300:Product Development

  1 Nisha Singh:500:Sales

  1 Sanjay Gupta:400:Support

  3. 以下命令仅仅列出了相同的条目

  代码如下:

  $ sort namesd.txt | uniq –cd

  2 Alex Jason:200:Sales

  2 Emma Thomas:100:Marketing

时间: 2024-08-03 19:48:28

Linux系统中uniq命令的基本使用教程的相关文章

Linux系统中tr命令的基本使用教程

  用法:tr [选项]... SET1 [SET2] 从标准输入中替换.缩减和/或删除字符,并将结果写到标准输出. -c, -C, --complement 首先补足SET1 -d, --delete 删除匹配SET1 的内容,并不作替换 -s, --squeeze-repeats 如果匹配于SET1 的字符在输入序列中存在连续的 重复,在替换时会被统一缩为一个字符的长度 -t, --truncate-set1 先将SET1 的长度截为和SET2 相等 --help 显示此帮助信息并退出 --

MySQL在Linux系统中隐藏命令行中的密码的方法

  这篇文章主要介绍了MySQL在Linux系统中隐藏命令行中的密码的方法,作者利用简单的C程序实现,需要的朋友可以参考下 在命令行中输入命令并不是一个好主意,会造成安全问题.但是如果你决定去写一个应用,而这个应用需要在命令行中使用密码或者其他敏感信息.那么,你能通过以下方法禁止系统的其他用户轻易的看到这些敏感数据 呢?,类似MySQL在ps命令下隐藏密码. 假设我这里系统里两个用户,一个是root ,一个是dabu .测试系统为centos 6.5在按照下面的步骤做: ? 1 2 3 4 [r

详解Linux系统中md5sum命令的用法

  这篇文章主要介绍了详解Linux系统中md5sum命令的用法,用来处理MD5验证的相关操作,需要的朋友可以参考下 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算法(Message-Digest Algorithm 5),此算法对任意长度的信息逐位进行计算,产生一个二进制长度为128位(十六进制长度就是32位)的"指纹"(或称"报文摘要"),不同的文件产生相 同的报文摘要的可能性是非常非常之小的. 在linux或Unix上,

linux系统中ls命令的用法

普通文件: -,f目录文件: d链接文件(符号链接): L设备文件:字符设备:c块设备:b命名管道: p套接字文件: s linux文件时间戳 时间分为三种类型:创建时间,修改时间:open访问时间:读写改变时间:源数据发生改变时间   4. ls -s 在每个文件的后面打印出文件的大小. size(大小,以K为单位)5. ls -t 按时间进行文件的排序 Time(时间)6. ls -A 列出除了"."和".."以外的文件.7. ls -R 将目录下所有的子目录的

Linux系统中‘dmesg’命令处理故障和收集系统信息的7种用法

Linux系统中'dmesg'命令处理故障和收集系统信息的7种用法 'dmesg'命令显示linux内核的环形缓冲区信息,我们可以从中获得诸如系统架构.cpu.挂载的硬件,RAM等多个运行级别的大量的系统信息.当计算机启动时,系统内核(操作系统的核心部分)将会被加载到内存中.在加载的过程中会显示很多的信息,在这些信息中我们可以看到内核检测硬件设备. dmesg Command Examples dmesg 命令的使用范例 'dmesg'命令设备故障的诊断是非常重要的.在'dmesg'命令的帮助下

在Linux系统中安装Go语言的详细教程

  这篇文章主要介绍了在Linux系统中安装Go语言的详细教程,由于国内很多人对谷歌的盲目追捧,导致Go语言在国内的人气远超国外...需要的朋友可以参考下 Go (也叫 "golang")是一款由Google最初开发的编程语言.它自诞生就有几个设计原则:简单性.安全性和速度.Go语言发行版拥有各种调试.测试.调优和代码审查工具.如今Go语言和它的工具链在大多数Linux发行版的基础仓库都可用,用默认的包管理器就可以安装. 在Ubuntu.Debian 或者 Linux Mint上安装G

Linux系统中ls命令的常见用法整理

  ls命令是Linux系统中最被频繁使用的命令之一,我相信ls命令一定是你进入一台Linux系统的电脑打开命令提示符后第一个使用的命令.我们每天都在频繁地使用ls命令,即使我们可能没有意识也从来用不到所有可用的选项.本文中,我们将讨论下一些基本的ls命令并且覆盖尽可能多的有关参数来讲解. 1. 不带任何选项列出文件 不带选项的ls命令来光秃秃地列出文件和目录,我们是不能看到像文件类型.大小.修改日期和时间.权限以及链接这样具体的信息的. 代码如下: # ls 0001.pcap Desktop

Linux系统中netstat命令的基本使用方法

  在计算中,netstat(网络统计数据)是一个命令行工具,它显示传输控制协议的网络连接(传入和传出),路由表,和一个数字网络接口 (网络接口控制器或者软件定义的网络接口)和网络协议的统计数据.它可在类Unix操作系统,包括OS X,Linux,Solaris和BSD,并提供对基于Windows NT的操作系统,包括Windows XP,Windows Vista中,Windows 7和Windows8. 本文主要介绍netstat在Linux的使用 netstat man的帮助手册会有提示信

linux系统中find命令之exec使用介绍

  find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了. exec解释: -exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠. {} 花括号代表前面find查找出来的文件名. 使用find时,只要把想要的操作写在一个文件里,就可以用exec来配合find查找,很方便的.在有些操作系统中只允许-exe