zoukankan      html  css  js  c++  java
  • shell统计一个文件里某行出现的次数并排序

    话说有个aaa.txt文件,文件内容如下:

    aaaa
    bbbb
    cccc
    dddd
    eeee
    ffff
    mmmm
    oooo
    aaaa
    cccc
    aaaa
    bbbb
    dddd
    aaaa
    mmmm
    bbbb
    aaaa
    oooo

    然后面试题出现了,你会用shell吗?会,那有这么个问题,请统计出一个文件里某个单词或者行出现的次数,请去除前10条。

    其实文件小还可以,文件大的话,可能这个方法就不那么高效了。不过会满足大多数

    一条语句搞定

    cat aaa.txt | awk '{print $1}' | sort | uniq -c | sort -n -r | head -n 5

    5 aaaa
    3 bbbb
    2 oooo
    2 mmmm
    2 dddd

    解释:

    cat aaa.txt | awk '{print $1}' | sort

    对全部输出的文件内容排序

    aaaa
    aaaa
    aaaa
    aaaa
    aaaa
    bbbb
    bbbb
    bbbb
    cccc
    cccc
    dddd
    dddd
    eeee
    ffff
    mmmm
    mmmm
    oooo
    oooo

    uniq -c,统计各行出现的次数,并把次数打印在每行前端

    sort -n -r 每行都以数字开头,按数字从达到小,排列各行

    head -n 取出前几行

  • 相关阅读:
    regedit注册表
    Environment应用
    VMI帮助类
    Image帮助类
    asp.net core+Postman
    printf和cout的区别详述
    C++指针
    Qt button和buttons区别
    visual studio收函数
    编译警告
  • 原文地址:https://www.cnblogs.com/gide/p/8662167.html
Copyright © 2011-2022 走看看