2017-06-02 68 views
-3

有很好的线条来显示most used commands in bash historythis。现在我优化了别名,这只显示我的快捷键。bash历史中最常用的命令组合?

作为下一步,我想优化组合。例如,我相信我经常做一个git-log,git-show,git-push的组合。不过,我想要一些硬数据来支持这一点。也可能有组合发现我不会考虑。

所以,输入是命令的历史。输出应该是这样的:

123 git log 
    git show 
    git push 
456 git show 
    git log 
    git push 

语法无论。这可能也成为这一点,如果简单:

123 git log; git show; git push 
456 git show; git log; git push 

这也许应该对参数命令的考虑,虽然2和3,现在对我来说重要的唯一的编号。

问题:有没有一个不错的线索来计算?

+1

有这里有个问题,你卡在哪个特定的部分? – 123

+0

我在这里没有看到问题。 – SaintHax

+0

好的,添加了实际的问题。 :) – qznc

回答

2

有与历史文件格式问题(这个名字,我相信默认为.bash_history但我用.bash-history),但第一遍可能是简单的东西如:

sed /^#/d ~/.bash-history | 
    awk '{a2=a1; a1=$0;} NR>2{a[$0 ";" a1";" a2]++} 
     END {for (c in a) print a[c], c}' 
+0

'HISTFILE'环境变量将指向历史文件 – Sundeep

+0

我不确定awk,但三元组的第一个条目总是相同的。我得到的结果像“cd; cd; ls”。 – qznc

+0

毫不奇怪,因为你使用'cd'和'ls'很多。你可以过滤掉sed中的常用命令(我用它来过滤掉以注释开头的时间戳行),但是你可以使用'sed -e'/#/ d'-e'/^cd $/d '-e'/^ls $/d'' –