这篇文章给大家分享的是有关如何快速上手Linux的uniq命令的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。
Linux uniq命令用于检查及删除文本文件中重复出现的行列。uniq可检查文本文件中重复出现的行列。
uniq [选项] [file]
选项说明:
-c,--count:显示行出现的次数 -d,--repeated:仅显示重复出现的行,即出现次数>=2的行,且只打印一次 -D,--all-repeated[=delimit-method]:仅显示重复的行,即出现次数>=2的行,且打印重复行的所有行。其中delimit-method表示对重复行集合的分隔方式,有三种取值,分别为none、prepend和separate。其中none表示不进行分隔,为默认选项,uniq -D等同于uniq --all-repeated=none;prepend表示在每一个重复行集合前面插入一个空行;separate表示在每个重复行集合间插入一个空行。 -f,--skip-fields=N:忽略前N个字段。字段由空白字符(空格符、Tab)分隔。如果您的文档的行被编号,并且您希望比较行中除行号之外的所有内容。如果指定了选项-f 1,那么下面相邻的两行: 1 这是一条线。 2 这是一条线。 将被认为是相同的。如果没有指定-f选项,它们将被认为是唯一的。 -i,--ignore-case:忽略大小写字符的不同 -s,--skip-chars=N:跳过前面N个字符不比较 -u,--unique:只显示唯一的行,即出现次数等于1的行 -w,--check-chars=N:指定每行要比较的前N个字符数 --help:显示帮助信息 --version:显示版本信息
(1)对无序文件去重无效。 testfile的内容如下:
cat testfile hello world friend hello world hello
直接删除未经排序的文件,将会发现没有任何行被删除:
#uniq testfile hello world friend hello world hello
(2)uniq结合sort命令,对排序文件去重。
#cat testfile | sort | uniqfriend hello world
(3)排序之后删除了重复行,同时在行首位置输出该行重复的次数。
#sort testfile | uniq -c1 friend 3 hello 2 world
(4)仅显示存在重复的行,并在行首显示该行重复的次数:
#sort testfile | uniq -dc3 hello 2 world
(5)仅显示不重复的行。
sort testfile | uniq -u friend
(6)仅显示重复的行,且显示重复行的所有行。
sort testfile | uniq -D hello hello hello world world
(7)uniq默认是比较相邻行的所有内容来判断是否重复,我们可以通过选项-w
或--check-chars=N
指定比较前N个字符。比如我们有如下内容的文件test.txt:
apple application api
打印前三个字符相同的行:
uniq -w3 -D test.txt apple application
感谢各位的阅读!关于“如何快速上手Linux的uniq命令”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。