web-dev-qa-db-fra.com

Création d'un fichier .txt complet et trié par ordre alphabétique de l'historique bash

Je veux avoir une liste complète et triée de mon histoire bash. Mais il y a quelques problèmes:

  1. En faisant history la liste ne montre jamais la liste complète et seulement 1000 commandes sont affichées.
  2. Dans mon répertoire $ HOME, il y a un fichier nommé . Bash_history qui affiche 2000 résultats.
  3. Lorsque je veux créer un fichier trié . Txt de mon historique, je le fais:

    history | sort > History.txt
    

    Mais à cause des chiffres, les commandes ne sont pas triées par ordre alphabétique et par numéro.

Est-il possible de faire ce que je veux?

6
Codito ergo sum

Que diriez-vous:

cat ~/.bash_history | sort > Sorted_history.txt

pour avoir un historique illimité de bash, jetez un coup d’œil à ce QA:

https://stackoverflow.com/questions/9457233/unlimited-bash-history

7
Bruni

sort peut trier les entrées en fonction du champ spécifié par l'utilisateur selon -k.

history | sort -k2 > History.txt  # or -K3 if you have $HISTTIMEFORMAT, etc set

De plus, il y a souvent une différence entre ce qui est disponible dans la sortie de la commande history et ce qui est enregistré dans ~/.bash_history en ce que ce dernier n'est pas mis à jour après chaque commande (n'est habituellement mis à jour que lors de la déconnexion), donc utiliser history | sort .. est meilleur vous une vue actuelle.

7
shalomb