2010-09-07 111 views
1

我想編寫一個讀取'.bash_history'文件並打印統計信息的python腳本。另外,我想打印最常用的命令。我能夠通過終端閱讀bash歷史記錄,但我無法通過python編程來完成。有人可以幫助我如何開始呢?通過python腳本讀取.bash_history文件

+0

針對每個問題的每個答案都有一個「勾號」圖標。點擊它,它變成綠色。選擇對每個問題最有用的答案,然後單擊此圖標。 – 2010-09-07 07:22:20

+0

您需要在想要接受的服務員旁邊按複選標記。 – wRAR 2010-09-07 07:22:44

回答

1

用的東西...

#!/usr/bin/env python 

import os 

homedir = os.path.expanduser('~') 
bash_history = open(homedir+"/.bash_history", 'r') 

開始現在我們有一個文件打開...你現在想做什麼操作?

打印文件的內容。

bash_history_text = bash_history.read() 
print bash_history_text 

打開串入線的陣列...

import re 
splitter = re.compile(r'\n') 

bash_history_array = splitter.split(bash_history_text) 

現在你可以做數組排序,篩選等你的心內容。

+0

閱讀全文並將其與正則表達式分開是相當矯枉過正的.. Python可以逐行閱讀文件.. – poke 2010-09-07 12:36:46

+0

@poke ...坦率地說,這樣做在python而不是bash腳本是非常矯枉過正。 – ocodo 2010-09-07 12:39:49

0

只是一些基本思路,具有重要的Python函數爲:

  • 讀取文件; open
  • 遍歷所有行並總結一行的出現次數; for,dict
  • 萬一你只想檢查命令的一部分(例如對待cd XYcd ..一樣),通過刪除空格後面的命令參數來標準化這些行; split
  • sort和和print輸出總和最高的命令。
+0

謝謝你..有用 – Khushboo 2010-09-07 11:58:04

+0

你應該upvote(按向上指向箭頭)那些你認爲有用的答案。 – poke 2010-09-07 12:35:42