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

(0)

相关推荐

  • Linux系统中cat命令使用的实例教程

    cat命令的主要作用是显示一个文件的内容,常与重定向符号>搭配使用. 主要使用方法cat FILE 在Terminal中显示文件的所有内容.cat > FILE 直接从Terminal中输 ...

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

    用法:tr [选项]... SET1 [SET2] 从标准输入中替换.缩减和/或删除字符,并将结果写到标准输出. -c, -C, --complement 首先补足SET1 -d, --delete ...

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

    这篇文章主要介绍了详解Linux系统中md5sum命令的用法,用来处理MD5验证的相关操作,需要的朋友可以参考下 MD5算法常常被用来验证网络文件传输的完整性,防止文件被人篡改.MD5全称是报文摘要算 ...

  • linux系统中tar命令使用方法

    简单介绍下linux系统中tar命令使用方法,有举例说明. 操作方法 01 打包当前目录下的所有后缀为.log的文件和一个box目录(tar包). 02 把当前目录下所有后缀名为.log的文件打包并压 ...

  • 用户账户如何删除?Win8系统中使用命令删除用户账户教程

    一台电脑可以拥有多个用户账户,可是当用户账户太多的时候就会很乱,于是就得删除一些,那么怎么利用命令删除用户账户,其实很简单,下面就由小编教大家Win8利用命令删除用户账户的方法吧! 方法/步骤 1.进 ...

  • linux系统中scp命令的使用介绍

    scp命令的用处: scp在网络上不同的主机之间复制文件,它使用ssh安全协议传输数据,具有和ssh一样的验证机制,从而安全的远程拷贝文件。 scp命令基本格式: scp [-1246BCpqrv] ...

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

    ls命令是Linux系统中最被频繁使用的命令之一,我相信ls命令一定是你进入一台Linux系统的电脑打开命令提示符后第一个使用的命令.我们每天都在频繁地使用ls命令,即使我们可能没有意识也从来用不到所 ...

  • Linux系统中运用命令行创建文件夹/目录

    Linux系统中运用mkdir命令行创建文件夹/目录 操作方法 01 mkdir命令的格式: mkdir directory... 02 实例1:创建单个目录dir1 mkdir dir1 03 实例 ...

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

    find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。 exec解释: -exec 参数后面跟的是command命 ...