首页 > Linux > 统计使用频率最高的10条指令的脚本

统计使用频率最高的10条指令的脚本

2010年8月22日 发表评论 阅读评论 2,891 人阅读过  

说实话,自己脚本能力太差了,于是利用周末的时候读了读《sed&Awk》,记得什么时候在byr上看到一贴子,是个统计最常用的10个命令的一句话脚本,于是自己写了一个,不过看上去挺臃肿的,如下:

#! /bin/sh
 
cat ~/.bash_history | awk -F" +" '{ print $1 }' | sort  | awk '
!/^$/{
	if(cur != $1) {
		if(cur != "")
				print sum , cur
	   	sum =0
	}
	cur = $1
	sum ++
}' | sort -nr | awk '
BEGIN{
printf("%-20s%s\n" , "Command" , "Frequency")
print "-------------------------------"
}
{
	if(NR <= 10)
		printf("%-20s%d\n" , $2 , $1)
}'

输出如下:

Command             Frequency
-------------------------------
make                65
ls                  49
awk                 49
cd                  42
sed                 31
gvim                25
sudo                23
cat                 19
echo                17
man                 11

原创文章,转载请注明: 转载自basic coder

本文链接地址: http://basiccoder.com/script-to-get-top10-commands.html

分类: Linux 标签: ,
  1. rem1x
    2010年8月22日22:39 | #1

    awk ‘{print $1}’ .bash_history|sort|uniq -c|sort -nr

  2. 远古的人类
    2010年8月29日14:48 | #3

    是《Sed&Awk》吧?

    • 2010年8月29日16:21 | #4

      哈,对对,写错了,貌似以前写Ack的频率更高一些

  3. 2011年10月15日23:54 | #5

    cat ~/.bash_history |sort|uniq -c|sort -g|tac|less

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。