123 votes

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 me remettre de cette situation et éventuellement récupérer une partie de l'historique ?

209voto

Rob Nicholson Points 1678

J'ai trouvé un article de blog décrivant une solution qui semble fonctionner pour moi, tout en restaurant mon historique manquant :

mv .zsh_history .zsh_history_bad
strings .zsh_history_bad > .zsh_history

Par la suite, vous pouvez demander à zsh de relire l'historique à partir du fichier historique récupéré.

fc -R .zsh_history

28voto

aksh1618 Points 403

La simple suppression de caractères aléatoires peut également fonctionner :

  • vim .zsh_history

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

  • :x (sauvegarder et quitter)

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X