2017-06-02 3 views
-3

most used commands in bash historyまたはthisを表示するには良いオンライナーがあります。これで私のエイリアスが最適化されたので、これは私にショートカットを示しています。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

[OK]を、実際の質問を追加しました。 :) – 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についてはわかりませんが、3タプルの最初のエントリは常に同じです。私は "cd; cd; ls"のような結果を得る。 – qznc

+0

'cd'と' ls'をたくさん使うので驚くべきことではありません。あなたはsedの一般的なコマンドを除外することができます(コメントで始まるタイムスタンプ行を除外するために使っていましたが) 'sed -e '/#/ d' -e '/^cd $/d '-e'/^ ls $/d '' –

関連する問題