uniq 命令详解

功能

报告或过滤文件中相邻的重复的行

命令说明

uniq [-c | -d | -D | -u] [-i] [-f num] [-s chars] [input_file [output_file]]

由于该命令只处理相邻的行,所以一般会与sort命令搭配使用

示例文件

文件名为uniq.txt,文件内容如下

aaa
bbb
bbb
bbb
aaa
ccc
CCC
11ddd
22ddd
44ddd44

选项

无选项

uniq uniq.txt
// 输出如下
aaa
bbb
aaa
ccc
CCC
11ddd
22ddd
44ddd44

-c, --count

在每个输出行之前输入该行在输入中出现的次数,后跟一个空格。

uniq -c uniq.txt
// 输出如下
      1 aaa
      3 bbb
      1 aaa
      1 ccc
      1 CCC
      1 11ddd
      1 22ddd
      1 44ddd44

-d, --repeated

只显示重复的行,也就是只显示-c选项中个数大于2的行

 uniq -d uniq.txt
 // 输出如下
bbb

-D, --all-repeated

显示全部重复的行

uniq -D uniq.txt
 // 输出如下
bbb
bbb
bbb

-f, --skip-fields=N

不比较起初的N栏,每栏以tab分割

-i, --ignore-case

忽略大小写

uniq -d -c -i uniq.txt
 // 输出如下
      3 bbb
      2 ccc

注意ccc的行,ccc与CCC 被认为是重复行

-s, --skip-chars=N

不比较起初的N个字符

 uniq -s 2 -c uniq.txt
  // 输出如下
      1 aaa
      3 bbb
      1 aaa
      1 ccc
      1 CCC
      2 11ddd
      1 44ddd44

-u, --unique

仅显示无重复的行

 uniq -u uniq.txt
 // 输出如下
aaa
aaa
ccc
CCC
11ddd
22ddd
44ddd44

-w, --check-chars=N

每行中比较不超过N个字符

 uniq -s 2 -w 3 -c uniq.txt
 // 输出如下
      1 aaa
      3 bbb
      1 aaa
      1 ccc
      1 CCC
      3 11ddd

-N 同 -f N

+N 同 -s N

posted @   我果然是个天才  阅读(143)  评论(0编辑  收藏  举报
点击右上角即可分享
微信分享提示