首页 > 技术文章 > linux常用统计命令

iread9527 2020-10-11 09:24 原文

  • 排序:sort,相邻行去重复:uniq,字符统计:wc

  • sort常用参数

    • -b 忽略开头的空白字符

    • -f 将小写字母看作大写字母

    • -h 根据存储容量排序,比如KB,MB

    • -n 按照数字大小排序

    • -o 把结果写入文件

    • -r 倒序

    • -t 指定分割符,默认为空格

    • -k 指定排序的关键字,与-i参数配合使用

    • -V 按照数字版本排序

    • 参考 https://wangchujiang.com/linux-command/c/sort.html

    • 按照存储容量排序

      sort -h test.txt
      
    • 数字从小到大排序

      sort -n test.txt
      
    • 数字从大到小排序

      sort -nr test.txt
      
    • .为分割符,第三列的数据排序

      sort -t . -k 3 sort_t
      
    • 以空格为分割符,以第三列的数据排序

      sort -k 3 sort_t
      
    • 按照数字版本排序

      sort -V
      
  • uniq常用参数(只检查上下行是否重复)

    • -c 统计重复出现的次数

    • -d 所有邻近的重复行只被打印一次

    • -D 所有邻近的重复行将被全部打印

    • -f 跳过对前n个列的比较

    • -s 跳过对前n个字符的比较

    • -w 只对每行前n个字符进行比较

    • 对第三列数据去重,并统计重复行的次数

      sort test.txt | uniq -f 2 -c
      
    • 以第三列数据排序,以第三列数据去重并统计,并以统计数字倒序排列

      sort -k 3 test.txt | uniq -f 2 -c | sort -nr
      
    • 以第三列数据去重,只显示相邻重复的数据,只打印一次

      uniq -f 2 -d test.txt
      
    • 以第三列数据去重,显示相邻重复的数据

      uniq -f 2 -D test.txt
      
    • 跳过前15个字符去重,显示相邻重复的数据

      uniq -s 15 -D test.txt
      
    • 以前5个字符去重,显示相邻重复的数据

      uniq -w 5 -D test.txt
      
    • 查看当前登录有多少用户

      w | awk '{print $1}' | sort | uniq -c | wc -l 
      
  • wc常用参数

    • -c 统计字节数:chars
    • -l 统计行数
    • -w 统计单词数
    • -L 打印最长行的长度

推荐阅读