Linux编写一个shell脚本 ,统计当前用户最常用的指令及其对应的历史使用次数 ,输出最常使用的前5 个指令及使用次数 ,格式为“指令 次数”,输出结果cd 105 ls 103 su 60 vi 34 svn 31
时间: 2023-04-01 07:03:23 浏览: 91
您好,这是一个关于Linux编写shell脚本的问题。以下是我的回答:
可以使用以下命令来统计当前用户最常用的指令及其对应的历史使用次数:
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 -n 5 | awk '{print $2, $3}'
输出结果将会是:
105 cd
103 ls
60 su
34 vi
31 svn
希望这个回答能够帮到您。
相关问题
Linux编写一个shell脚本 ,统计当前用户最常用的指令及其对应的历史使用次数 ,输出最常使用的前5 个指令及使用次数 ,格式为“指令 次数”
您好,我可以回答您的问题。以下是统计当前用户最常用的指令及其对应的历史使用次数的shell脚本:
```shell
#!/bin/bash
# 获取当前用户的历史命令
history_list=$(history | awk '{print $2}')
# 统计每个命令出现的次数
cmd_count=$(echo "$history_list" | awk '{a[$1]++}END{for(i in a){print i,a[i]}}')
# 按照出现次数排序,取前5个
top_cmds=$(echo "$cmd_count" | sort -rnk2 | head -n 5)
# 输出结果
echo "$top_cmds" | awk '{print $1, $2}'
```
输出的结果格式为“指令 次数”,其中指令为最常使用的前5个指令,次数为对应的历史使用次数。
编写一个shell脚本 ,统计当前用户最常用的指令及其对应的历史使用次数 ,输出最常使用的前5 个指令及使用次数 ,格式为“指令 次数”
您好,我可以回答这个问题。以下是统计当前用户最常用的指令及其对应的历史使用次数的shell脚本:
```bash
#!/bin/bash
# 统计当前用户最常用的指令及其对应的历史使用次数
# 获取当前用户
user=$(whoami)
# 获取当前用户的历史指令
history=$(history | awk '{print $2}' | sort | uniq -c | sort -nr)
# 输出最常使用的前5个指令及使用次数
echo "$history" | grep -w "$user" | head -n 5 | awk '{print $2, $1}'
```
输出格式为“指令 次数”,其中指令为最常使用的前5个指令,次数为对应指令的历史使用次数。