zsh_history_sort.py
from collections import Counter, defaultdict
import sys
try:
#FILENAME = "/Users/{hoge}/.zhistory"
FILENAME = sys.argv[1]
except:
print "USAGE: zsh_history_sort.py <your_history_file>"
sys.exit(1)
class Stat(object):
def __init__(self):
self.counter = Counter()
self.children = defaultdict(Stat)
stat = Stat()
fi = file(FILENAME)
for line in fi:
line = line.strip()
if ";" in line:
line = line.split(";")[1]
words = line.split()
s = stat
for (i, w) in enumerate(words):
if i > 1: break;
s.counter[w] += 1
s = s.children[w]
def show(stat, indent=0):
INDENT = " " * indent
for name, count in stat.counter.most_common():
if count < 10: break
print "%s%s: %d" % (INDENT, name, count)
show(stat.children[name], indent + 1)
show(stat)
Sie können die Tiefe und die Anzahl der Anzeigen ändern, indem Sie "if i> 1: break" oder "if count <10: break" ändern. Bei Befehlen, die Sie unerwartet verwenden, sollten Sie abgekürzte Namen berücksichtigen.
↓ 90% 9 Minuten 9 ㎘ Die folgenden Quellen werden verwendet. Frühere Geschichte show stat. of your git usage — Gist
Recommended Posts