[PYTHON] Afficher une liste des commandes fréquemment utilisées sur Zsh

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)

Vous pouvez changer la profondeur et le nombre d'affichages en changeant ʻif i> 1: break; ou ʻif count <10: break. Pour les commandes que vous utilisez de manière inattendue, vous pouvez envisager des noms abrégés.

↓ 90% 9 minutes 9 ㎘ Les sources suivantes sont utilisées. Ancienne histoire show stat. of your git usage — Gist

Recommended Posts

Afficher une liste des commandes fréquemment utilisées sur Zsh
Liste des commandes Linux fréquemment utilisées
[Commande Linux] Un mémorandum des commandes fréquemment utilisées
Une collection de commandes fréquemment utilisées dans la gestion des serveurs
[Anaconda3] Résumé des commandes fréquemment utilisées
[Linux] Examen des commandes de base fréquemment utilisées 2
Résumé des commandes fréquemment utilisées de django (débutant)
Résumé des commandes fréquemment utilisées dans matplotlib
[Linux] Liste des commandes Linux utilisées dans la pratique
Afficher une liste d'alphabets en Python 3
[Apprentissage automatique] Liste des packages fréquemment utilisés
Liste des fonctions et méthodes intégrées fréquemment utilisées
Résumé des commandes fréquemment utilisées (avec petit commentaire)
Commande tmux fréquemment utilisée
Commandes Linux fréquemment utilisées
Commandes Linux fréquemment utilisées
Commandes Linux fréquemment utilisées
Affichage des fractions (liste)
Commande pip fréquemment utilisée
[Linux] Liste des commandes Linux que les débutants devraient connaître
Sous-packages de SciPy fréquemment utilisés
Commandes fréquemment utilisées dans virtualenv
Comment afficher une liste des versions installables avec pyenv
[Python] Mémo des phrases fréquemment utilisées dans les scripts Python
8 commandes fréquemment utilisées dans Python Django
Commandes Linux fréquemment utilisées [Personal Memo]
Commandes Linux fréquemment utilisées (pour les débutants)
Commandes souvent utilisées dans GAE / P
[Linux] Commandes Linux fréquemment utilisées (opération de dossier)
Générer une liste de caractères consécutifs
Introduction de la commande ls lsix qui peut afficher une liste d'images
Faites une liste de "Hobunsha 70th Anniversary Campaign" avec Selenium sur Amazon
Liste de vérification des compétences de Paiza des rangs D et C fréquemment utilisés ~ Python ~
[Linux] Une commande pour obtenir une liste des commandes exécutées dans le passé
Afficher le graphique de tensorBoard sur Jupyter
[python] Obtenir une liste de variables d'instance
Conversion de chaîne d'une liste contenant des nombres
[Python] Obtenir une liste de dossiers uniquement
[Linux] Examen des commandes de déploiement sur AWS
Un mémo qui a fait un tutoriel pour exécuter python sur heroku
[python] Créer une liste de différents types de caractères
Remarques sur la personnalisation de la classe de liste de dict
Notes fréquemment utilisées (personnellement) pour la commande tar
Copiez la liste en Python
Affichage simple du graphique linéaire sur Jupyter Notebook
Obtenez la liste "J'aime" de Qiita en grattant
Méthodes fréquemment utilisées de sélénium et de belle soupe
Résumé des tableaux Python fréquemment utilisés (pour moi-même)
Selenium Webdriver Résumé des méthodes de fonctionnement fréquemment utilisées
Mémorandum des commandes, packages, termes, etc. utilisés sous Linux (mis à jour de temps en temps)