web-dev-qa-db-fra.com

Comment réparer et récupérer un "fichier historique corrompu" dans zsh?

Après un redémarrage, j'ai commencé à voir un message lors du chargement du shell:

zsh: corrupt history file /home/myusername/.zsh_history

Comment puis-je récupérer de cette situation et potentiellement récupérer une partie de l'historique?

96
Gerald Kaszuba

Trouvé un blog post décrivant un correctif qui semble fonctionner pour moi, tout en restaurant mon historique manquant:

mv .zsh_history .zsh_history_bad
strings .zsh_history_bad > .zsh_history
fc -R .zsh_history
161
Gerald Kaszuba

Supprimer simplement des caractères aléatoires peut également fonctionner:

  • vim .zsh_history

  • Supprimez tous les caractères étranges, qui seraient probablement près de la fin. (Dans mon cas, j'avais une chaîne de caractères @ dans l'avant-dernière ligne, à la suite d'un arrêt forcé)

  • :x (enregistrer et quitter)

10
aksh1618