74 votes

Comment supprimer les résultats sélectionnés dans l'historique bash ?

history montre tous les résultats mais nous pouvons filtrer pour obtenir une commande particulière en utilisant la commande history | grep searchingCommand . C'est vraiment utile.

Mais le problème est qu'il affiche également les commandes qui ont été saisies avec une erreur de frappe ou qui n'ont pas abouti. L'identification de la commande correcte est alors très difficile. J'ai vérifié ce lien : Historique sélectif des commandes dans le terminal ? mais ce n'était pas ma solution.

Existe-t-il donc un moyen de supprimer de l'historique les commandes qui étaient incorrectes au moment de la saisie ou plus tard ?

1voto

Randall Goodwin Points 714

Si vous utilisez l'option "set -o vi" dans bash (très utile pour revenir en arrière avec la touche Echap), alors vous pouvez rechercher la ligne et la supprimer avec "dd" de la même manière que vous le faites dans "vi".

0voto

mikebabcock Points 554

J'ai eu une situation où j'avais des entrées superflues dans mon historique bash d'un Yubikey - peut-être 50 ou plus, correspondant à 'ccccc.....'. Idéalement, je voulais un moyen de supprimer les entrées correspondant à un motif, ce que je suppose que vous pourriez faire avec sed ou autre, en supposant que votre historique ignore les blancs.

Quoi qu'il en soit, j'ai eu la flemme et j'ai fini par utiliser vim, en cherchant 'cccc' et en utilisant 'dd' tout en parcourant chaque correspondance. Ça n'a pas pris plus d'une minute.

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