Linux Command uniq

简介: Linux Command uniq

Linux Command uniq

文章目录

1. 简介

Linux uniq 命令用于检查及删除文本文件中重复出现的行列,一般与 sort 命令结合使用。

uniq 可检查文本文件中重复出现的行列

2. 参数

-c, --count                在每行开头增加重复次数。
-d, --repeated             所有邻近的重复行只被打印一次。
-D                         所有邻近的重复行将全部打印。
--all-repeated[=METHOD]    类似于 -D,但允许每组之间以空行分割。METHOD取值范围{none(默认),prepend,separate}。
-f, --skip-fields=N        跳过对前N个列的比较。
--group[=METHOD]           显示所有行,允许每组之间以空行分割。METHOD取值范围:{separate(默认),prepend,append,both}。
-i, --ignore-case          忽略大小写的差异。
-s, --skip-chars=N         跳过对前N个字符的比较。
-u, --unique               只打印非邻近的重复行。
-z, --zero-terminated      设置行终止符为NUL(空),而不是换行符。
-w, --check-chars=N        只对每行前N个字符进行比较。
--help                     显示帮助信息并退出。
--version                  显示版本信息并退出。

3. 示例

1. 重复相邻

文件testfile中第 2、3、5、6、7、9行为相同的行,使用 uniq 命令删除重复的行,可使用以下命令:

$ cat testfile      #原有内容  
test 30  
test 30  
test 30  
Hello 95  
Hello 95  
Hello 95  
Hello 95  
Linux 85  
Linux 85 
$ uniq testfile     #删除重复行后的内容  
test 30  
Hello 95  
Linux 85 

检查文件并删除文件中重复出现的行,并在行首显示该行重复出现的次数。使用如下命令:

$ uniq -c testfile      #删除重复行后的内容  
3 test 30             #前面的数字的意义为该行共出现了3次  
4 Hello 95            #前面的数字的意义为该行共出现了4次  
2 Linux 85            #前面的数字的意义为该行共出现了2次 

2. 重复不相邻

当重复的行并不相邻时,uniq 命令是不起作用的,即若文件内容为以下时,uniq 命令不起作用:

$ cat testfile1      # 原有内容 
test 30  
Hello 95  
Linux 85 
test 30  
Hello 95  
Linux 85 
test 30  
Hello 95  
Linux 85 
$ sort  testfile1 | uniq
Hello 95  
Linux 85 
test 30
$ sort testfile1 | uniq -c
   3 Hello 95  
   3 Linux 85 
   3 test 30
$ sort testfile1 | uniq -d
Hello 95  
Linux 85 
test 30  
相关文章
|
9月前
|
Unix Linux
linux命令之uniq
linux命令之uniq
83 1
|
9月前
|
应用服务中间件 Linux Shell
Linux命令(84)之uniq
Linux命令(84)之uniq
61 1
|
关系型数据库 MySQL Shell
【Linux命令】-bash: mysql: command not found
【Linux命令】-bash: mysql: command not found
155 0
|
7月前
|
Linux
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
Linux02---命令基础 Linux命令基础, ls命令入门,ls命令参数和选项,命令行是一种以纯字符操作系统的方式,command命令本身,options命令的细节行为,parameter命令的
|
9月前
|
Linux 开发者
【Linux】:文件查看 stat、cat、more、less、head、tail、uniq、wc
【Linux】:文件查看 stat、cat、more、less、head、tail、uniq、wc
133 1
|
9月前
|
Linux
Linux指令|more|less|head|tail|管道|sort|wc|uniq
Linux指令|more|less|head|tail|管道|sort|wc|uniq
|
9月前
|
存储 Shell Linux
【Shell 命令集合 文档编辑】Linux 删除连续重复的行 uniq 命令使用指南
【Shell 命令集合 文档编辑】Linux 删除连续重复的行 uniq 命令使用指南
167 0
|
Ubuntu Linux 数据库
Linux:报错“command not found: yum”及yum和apt-get的区别
Linux:报错“command not found: yum”及yum和apt-get的区别
1421 0
Linux:报错“command not found: yum”及yum和apt-get的区别
|
9月前
|
Linux Shell
mac/linux提示bash: telnet: command not found
mac/linux提示bash: telnet: command not found