You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

通用awk函数解析:高频命令识别工具mu函数实现说明

用自定义函数统计高频终端命令,快速确定别名设置目标

如果你一直在找一种高效的方式,找出自己日常敲得最多的终端命令(或者子命令),从而给它们设置别名节省时间,那这个我一直在用的mu函数绝对值得试试!

函数功能与用法

这个函数有两种使用场景:

  • 不带参数运行:直接统计所有历史命令里的高频主命令,输出前10条,还会附带使用占比
    mu
    
  • 带单个参数运行:比如你想统计git的子命令使用频率,就输入mu git,它会帮你找出该命令下最常用的子命令
    mu git
    

完整函数代码

function mu() { 
    if [[ $# -eq 0 ]]; then 
        history | awk '{CMD[$2]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n10 
    elif [[ $# -eq 1 ]]; then 
        history | awk '$2=="'$1'"{CMD[$3]++;count++;}END { for (a in CMD)print CMD[a] " " CMD[a]/count*100 "% " a;}' | grep -v "./" | column -c3 -s " " -t | sort -nr | nl | head -n10
    fi
}

(注:原代码里的column -c3 -s ...存在笔误,我补全为column -c3 -s " " -t以保证功能正常运行)

核心逻辑说明

  • 借助history命令获取你的终端操作历史记录
  • 用awk统计命令(或子命令)的出现次数和使用占比
  • 用grep -v "./"过滤掉本地脚本的调用记录,避免干扰统计结果
  • 用column格式化输出,让统计结果更整齐易读
  • 最后排序并取前10条,直接展示最值得设置别名的高频命令

内容的提问来源于stack exchange,提问作者Cydonia7

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.21 07:42:21