实例解说Linux命令行uniq

运维 系统运维
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

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

原文:http://www.liangkun.net/archives/683.html

【编辑推荐】

  1. 五个不容错过的Linux命令行技巧
  2. 分享十条nmap实用命令行技巧
  3. Linux命令行闭关修炼札记
责任编辑:黄丹 来源: liangkun.net
相关推荐

2009-12-24 14:51:39

Linux命令行

2010-09-01 14:23:54

Linux命令行开发

2009-12-23 14:14:09

Linux高级命令行

2009-12-09 09:25:52

Linux命令行svn命令

2017-08-29 15:15:40

Linux命令公网IP

2018-02-10 17:30:41

Linux命令

2010-07-26 09:14:22

Perl命令行

2011-08-22 11:51:13

Linuxconfigure

2010-09-03 09:18:23

LinuxUNIX命令行

2010-06-01 19:14:53

SVN命令行

2018-04-23 08:45:05

Linux命令行

2018-07-10 14:29:05

Linux命令行

2014-01-24 09:09:32

Linux命令行网速

2009-08-11 09:58:22

Linux命令行Linux命令svn命令

2020-12-20 17:34:50

Linux命令行终端

2021-01-14 08:47:55

Linux命令行打印

2014-01-22 10:21:55

Linux命令行

2019-08-15 15:00:31

Linux命令行PDF

2022-02-08 13:24:49

LinuxLinux命令

2014-06-16 09:28:08

Linux命令行
点赞
收藏

51CTO技术栈公众号