• # nettoyer bash_history

    Posté par (site web personnel) . En réponse au message [Résolu]Mon .bash_history n'ignore pas ce que je lui demande d'ignorer !. Évalué à 1.

    Bonjour.
    J'ai fait un script Python que je fais lancer à chaque démarrage de mon ordi et qui efface les doublons dans .bash_history

    Il y a peut-être plus simple mais il fait le boulot comme prévu :

    #!/usr/bin/env python
    # -*- coding: utf-8 -*-
    # UN SCRIPT POUR SIMPLIFIER LE FICHIER .BASH_HISTORY
    # importation des modules utiles :
    from __future__ import print_function
    import os
    import io
    # le fichier .bash_history :
    THE_FILE = os.path.join(os.path.expanduser('~'), '.bash_history')
    #print('THE_FILE:', THE_FILE)
    try:
     # on lit le fichier :
     oldLines = []
     theFile = io.open(THE_FILE, 'rt', encoding='utf-8')
     oldLines = theFile.readlines()
     theFile.close()
     # on le retourne pour garder les derniers appels en priorité :
     oldLines.reverse()
     newLines = []
     for line in oldLines:
     # on ne récupère que les lignes non vides et pas déjà là :
     if (line != '') and (line not in newLines):
     newLines.append(line)
     #print(line)
     #print(newLines)
     # on retourne pour remettre dans l'ordre historique :
     newLines.reverse()
     # on récrit le fichier :
     theFile = io.open(THE_FILE, 'wt', encoding='utf-8')
     for line in newLines:
     theFile.write(line)
     theFile.close()
    except:
     print('ERROR')
    

    O-