快速上手Linuxuniq命令

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 | uniq

friend

hello

world

(3)排序之后删除了重复行,同时在行首位置输出该行重复的次数。

#sort testfile | uniq -c

1 friend

3 hello

2 world

(4)仅显示存在重复的行,并在行首显示该行重复的次数:

#sort testfile | uniq -dc

3 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

名称栏目:快速上手Linuxuniq命令
当前链接:http://www.shufengxianlan.com/qtweb/news1/485551.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联