2018年12月23日日曜日

historyコマンド履歴で何を使ったかPythonで調べる

ubuntu Linuxのhistoryコマンドで、直近1000回のコマンド履歴が見れます。ファイルに出力して、Pythonでカウントしてみました。

historyをlogファイルに出力

$ history > hist.log

カレントディレクトリにhist.logというファイルができてhistryの中身が書き込まれています。

$ python

でPythonに入ります。

import re
import collections
li = []
f = open('hist.log')
for i in f.readlines():
    li.append(re.split('\s+', i)[2])
c = collections.Counter(li)
c.most_common()

hisotryの行の中身は
(スペース)行数(スペース)コマンド(スペース)・・・

となっているので、re.splitでリストにして[2]がコマンドになります。

c.most_common()


[('cd', 103), ('ps', 97), ('find', 93), ('gvim', 80), ('ls', 76), ('sudo', 46), ('python', 27), ('nohup', 27), ('locate', 20),......

というように、コマンドと何回使ったかが分かります。

sudo はその次を見たほうがいいかもしれませんね。
>

0 件のコメント:

コメントを投稿