新人刚开始学,怎么用shell脚本,统计当前用户最常用的指令及其对应的历史使用次数

要输出前五个,输出格式为

CD 10

ls 30

这种格式

 

history|awk '{print $2}'|sort|uniq -c|sort -nr|head -n5|awk '{print $2" "$1}'

大致思路是这样的,可以根据实际情况修改。

history:输出历史记录,我看了一下,连续输入同样的命令,history只会记录一条。若有更符合需求的历史数据源,可替换。

awk '{print $2}':截取历史记录中的命令列。

sort:排序

uniq -c:去重并统计次数

sort -nr:排序,根据次数倒序

head -n5:取前5行

awk '{print $2" "$1}':格式化,命令在前,次数在后。