Linux命令总结--uniq命令

Linux uniq 命令

Linux 命令大全

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

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

语法

uniq [-cdu][-f<栏位>][-s<字符位置>][-w<字符位置>][--help][--version][输入文件][输出文件]

参数

  • -c或--count 在每列旁边显示该行重复出现的次数。
  • -d或--repeated 仅显示重复出现的行列。
  • -f<栏位>或--skip-fields=<栏位> 忽略比较指定的栏位。
  • -s<字符位置>或--skip-chars=<字符位置> 忽略比较指定的字符。
  • -u或--unique 仅显示出一次的行列。
  • -w<字符位置>或--check-chars=<字符位置> 指定要比较的字符。
  • --help 显示帮助。
  • --version 显示版本信息。
  • [输入文件] 指定已排序好的文本文件。如果不指定此项,则从标准读取数据;
  • [输出文件] 指定输出的文件。如果不指定此选项,则将内容显示到标准输出设备(显示终端)。

实例

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

uniq testfile 

testfile中的原有内容为:

$ cat testfile      #原有内容
test 30
test 30
test 30
Hello 95
Hello 95
Hello 95
Hello 95
Linux 85
Linux 85

使用uniq 命令删除重复的行后,有如下输出结果:

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

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

uniq -c testfile 

结果输出如下:

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

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

$ cat testfile1      # 原有内容
test 30
Hello 95
Linux 85
test 30
Hello 95
Linux 85
test 30
Hello 95
Linux 85

这时我们就可以使用 sort:

$ 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

原文地址:https://www.cnblogs.com/hanjiali/p/11711455.html

时间: 2024-08-10 05:49:25

Linux命令总结--uniq命令的相关文章

第十三章 对文本进行排序、单一和重复操作:sort命令、uniq命令

第十三章 对文本进行排序.单一和重复操作:sort命令.uniq命令 sort命令 名字解释 sort命令 它将文件进行排序,并将排序结果标准输出.sort命令即可以从特定的文件,也可以从stdin中获取输入. 语法 sort (选项) (参数) 选项 -b:忽略每行前面开始出的空格字符: -c:检查文件是否已经按照顺序排: -d:排序时,处理英文字母.数字及空格字符外,忽略其他的字符: -f:排序时,将小写字母视为大写字母: -i:排序时,除了040-176之间的ASCII字符外,忽略其他的字

linux sort uniq命令详解

sort 功能说明:将文本文件内容加以排序,sort可针对文本文件的内容,以行为单位来排序. sort [-bcdfimMnr][-o<输出文件>][-t<分隔字符>][+<起始栏位>-<结束栏位>][--help][--verison][文件] -b   忽略每行前面开始处的空格字符 . -c   检查文件是否已经按照顺序排序. -d   排序时,处理英文字母.数字及空格字符外,忽略其他的字符. -f   排序时,将小写字母视为大写字母. -i   排序时

linux命令-sed,uniq,cut,wc

sort sort 命令对 File 参数指定的文件中的行排序,并将结果写到标准输出.如果 File 参数指定多个文件,那么 sort 命令将这些文件连接起来,并当作一个文件进行排序. sort语法 [[email protected] ~]# sort [-fbMnrtuk] [file or stdin] 选项与参数: -f :忽略大小写的差异,例如 A 与 a 视为编码相同: -b :忽略最前面的空格符部分: -M :以月份的名字来排序,例如 JAN, DEC 等等的排序方法: -n :使

Linux之uniq命令

uniq - report or omit repeated lines  省去重复的行 参数: -i  忽略大小写字符的不同 -c  对重复的行进行记数 注意:uniq命令只会对相邻的重复的行进行去重,所以uniq常常和sort命令一起用,sort命令可将重复的行排在一起,然后使用uniq进行重复数统计 [[email protected] test]# cat c.txt a a b a a a b b b d b [[email protected] test]# cat c.txt |u

Linux uniq命令

200 ? "200px" : this.width)!important;} --> 介绍 uniq命令是一个文本去重命令,它能对标准输入和文本文件进行去重操作,并且能将结果通过stdout输出,uniq命令经常会同sort命令一起使用,uniq命令默认对多条重复的行只显示一行. 参数 -c, --count 在每行记录前显示该行内容的数量 -d, --repeated 仅显示重复的记录行,并且去重 -D, --all-repeated[=delimit-method] 仅显示

Linux命令:uniq

uniq命令简介: 此个命令读取输入文件,并比较相邻的行. 1.命令格式: uniq [OPTION]... [INPUT [OUTPUT]] 2.命令功能: 第二个及以后更多个重复行将被删去,行比较是根据所用字符集的排序序列进行的.该命令加工后的结果写到输出文件中.输入文件和输出文件必须不同.如果输入文件用"-  "表示,则从标准输入读取. 3.命令参数: – c 显示输出中,在每行行首加上本行在文件中出现的次数.它可取代- u和- d选项. – d 只显示重复行. – u 只显示文

linux命令之文件内容定位:sed、uniq命令

sed命令 1.sed -n '2'p  file 只打印 file 文件的第二行. 2.sed -n '1,4'p file 只打印从第一行到第四行得记录. 3.sed -n '/los/'p file 打印匹配los的行. 4.sed -n '4,/los/'p file 打印从第四行到匹配los的之间的所有行. 5.sed '1,2'd file 把第一行和第二行全部删除. uniq命令 1.uniq -c file 打印紧挨的重复行出现的次数. 2.uniq -d file 只打印重复的

linux系统中cut sort tee 和uniq命令的使用

cut命令的使用 -----分割  [[email protected] wang]# cut -d ':' -f 1 passwd1 |head -n3  //cut命令用于切割.-d后面指  定分隔符,用单引号引起来  root                                                           //-f指定第几段.即用分隔符分割后的第几段  bin daemon   [[email protected] wang]# cut -c1 pass

Linux命令之 uniq

uniq uniq 命令可以去除排序过的文件中的重复行,因此 uniq 经常和 sort 合用.也就是说,为了使 uniq 起作用,所有的重复行必须是相邻的.详细看例一. [email protected]:~/shell#uniq  -[icu] 选项与参数: -i:    忽略大小写字符的不同; -c :    进行计数 -u :    只显示唯一的行 -d:   只显示有重复的行 -s  N:    忽略前面的N个符 例一: #file文件内容 [email protected]:~/sh