简明Linux命令行笔记:uniq
显示唯一的行
uniq [options] [input-file] [output-file]
uniq用于显示它的输入,对于连续的重复行只保留一行。如果文件已排序,uniq就确保不会显示相同的两行
参数
如果没有指定input-file,那么uniq将从标准输入中读取数据。如果没有指定output-file,那么uniq将写入到标准输出中
选项
-c 在行首显示该行在输入文件中出现的次数
-d 显示重复出现的行的一个副本,不显示没有重复的行
-f 比较时跳过前n列
-i 比较行时忽略字符大小写
-s n 忽略每行的前n个字符
-u 仅显示没有重复出现的行
-w n 对每行第n个字符以后的内容不做比较
示例
原文件
$ cat test boy took bat home boy took bat home girl took bat home dog brought hat home dog brought hat home dog brought hat home
uniq
$ uniq test boy took bat home girl took bat home dog brought hat home
仅显示连续重复的行一次
uniq -c
$ uniq -c test 2 boy took bat home 1 girl took bat home 3 dog brought hat home
显示文件中每行连续出现的次数
uniq -d
$ uniq -d test boy took bat home dog brought hat home
只显示重复出现的行
uniq -u
$ uniq -u test girl took bat home
只显示没有连续重复出现的行
uniq -f -s
$ uniq -f 2 -s 2 test boy took bat home
跳过指定的列和字符进行比较