linux命令学习笔记之unip

功能:
文件经过处理后在它的输出文件中可能会出现重复的行。例如,使用cat命令将两个文件合并后,再使用sort命令进行排序,就可能出现重复行。这时可以使用uniq命令将这些重复行从输出文件中删除,只留下每条记录的唯一样本。

语法:

uniq [选项] 文件

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

该命令各选项含义如下:

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

– d
只显示重复行。

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

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

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

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

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

举例:
有文件a.txt,内容如下:

[160]/boss18/work/darkmi/test/>more a.txt
aaaa
aaaa
bbbb
cccc
dddd
aaaa
eeee
aaaa

执行uniq命令,输出如下:

[160]/boss18/work/darkmi/test/>uniq a.txt
aaaa
bbbb
cccc
dddd
aaaa
eeee
aaaa

说明:
uniq是删除连续的重复行,对于未连续的重复行并没有删除,所以想要删除所有重复行,最后使用sort对文件进行排序。

此条目发表在lnmpa分类目录,贴了, , 标签。将固定链接加入收藏夹。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据