文章目录

  • uniq
  • 选项
  • 参数
  • sort
  • 选项
  • 参数
  • 示例



uniq

  • 作用: 去重
  • 语法: usage: uniq [-c | -d | -u] [-i] [input [output]]

选项

  • -c ( --count): 在每列旁边显示重复出现的次数
  • -d ( --repeated): 仅显示重复出现的行列
  • -u ( --unique): 仅显示出一次的行列
  • -i: 不区分大小写

参数

  • input: 指定去重的文件, 不指定则从标准流读取
  • output: 指定写入结果的文件, 不指定则输出到终端

sort

  • 作用: 排序
  • 语法: sort [选项] [input]

选项

  • -b: 忽略每行前边开始出现的空格符
  • -c: 检查是否已经按照顺序排序
  • -n: 按照数值的大小排序
  • -f: 排序时, 将小写字母视为大写字母
  • -d: 排序时, 只处理英文字母,数字,和空格字符
  • -i: 排序时, 只处理ascii码040-176之间的字符
  • -o [output]: 将排序后结果输出到文件
  • -r: 反序
  • -t<分隔符>: 指定排序时用的分隔符
  • +<起始栏位>-<结束栏位>: 以指定的排序范围

参数

  • input: 需要排序的文件列表, 可以指定多个

示例

cat log |awk -F'|' '{print $3}'|sort|uniq -c|sort -nr|head -5

"""
1. 查看log
2. 使用awk工具, 指定分隔符为'|', 输出第三段
3. <2>作为sort的输出进行排序
4. <3>作为uniq的输入进行去重, -c参数显示重复数量
5. <4>作为sort的输入进行排序, -nr指定按照重复数量进行排序, 并且反序
6. <5>作为head的输入, 输出前5条数据
"""