乐趣区

关于linux:Linux-之-uniq-命令

显示或疏忽反复的行。

命令格局

uniq [选项]... [文件]

命令选型

  • -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 显示版本信息并退出。

命令参数

  • INPUT(可选):输出文件,不提供时为规范输出。
  • OUTPUT(可选):输入文件,不提供时为规范输入。

命令返回值

返回 0 示意胜利,返回非 0 值示意失败。

试验文本

> cat 1.txt
123
456
789
123
123
333
123
eee
rrr

相邻行去重

> uniq 1.txt
123
456
789
123
333
123
eee
rrr

文件每行排序后, 相邻行去重

> sort 1.txt | uniq
123
333
456
789
eee
rrr

// 或者
> sort -u 1.txt 
123
333
456
789
eee
rrr

统计各行在文件中呈现的次数

> sort 1.txt  | uniq -c
      4 123
      1 333
      1 456
      1 789
      1 eee
      1 rrr

先排序后统计反复的次数

查找文件中反复的行

> sort 1.txt | uniq -d
123

uniq 只检测邻近的行是否反复,sort - u 将输出文件先排序而后再解决反复行

疏忽每行的前 N 个字符

> uniq -s 3 1.txt

疏忽每行的前 3 个字符, 比拟前面的字符

只对前 N 个字符进行比拟

> uniq -w 3 1.txt

只对每行的前 3 个字符进行比拟

原文链接:https://rumenz.com/rumenbiji/…
微信公众号: 入门小站

退出移动版