Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#26 Le 27/11/2019, à 11:16

Compte supprimé

Re : [Résolu]Effacer dans history les lignes contenant une cmd précise

@Lucie.Tri:
ah oui je vois exactement le souci . Je m'en étais pas aperçu car je me suis contenté d'un history | grep 'trans' | wc -l et regardé la fin de mon history  (où je n'avais pas de traduction longue) pour vérifier le bon fonctionnement des lignes de commandes....

Le problème vient des retours à la ligne induits par le copié/collé
Rajoute :

sed -i '/>/d' .bash_history

et toutes les ligne devraient disparaître wink

Dernière modification par Compte supprimé (Le 27/11/2019, à 11:27)

#27 Le 27/11/2019, à 11:24

Lucie.Tri

Re : [Résolu]Effacer dans history les lignes contenant une cmd précise

Excuse-moi, j'ai des connaissances hyper limitées. Je ne sais pas où ajouter ce que tu me dis. Pourrais-tu, s'il te plaît, me donner la commande complétée ?

Hors ligne

#28 Le 27/11/2019, à 11:27

Compte supprimé

Re : [Résolu]Effacer dans history les lignes contenant une cmd précise

désolé j'ai écris trop vite , ma proposition ne marche pas .
Je vais voir comment faire en python...
Pour Bash, laissons réfléchir les pros wink

@à tous: le problème soulevé par Lucie.Tri c'est quand la commande précisée est sur plusieurs lignes comme l'exemple ci dessous

echo "02 Vanité des vanités disait Qohèleth. Vanité des vanités, tout est vanité !
> 
> 03 Quel profit l’homme retire-t-il de toute la peine qu’il se donne sous le soleil ?
> 
> 04 Une génération s’en va, une génération s’en vient, et la terre subsiste toujours.
> 
> 05 Le soleil se lève, le soleil se couche ; il se hâte de retourner à sa place, et de nouveau il se lèvera.
> 
> 06 Le vent part vers le sud, il tourne vers le nord ; il tourne et il tourne, et recommence à tournoyer."

Dernière modification par Compte supprimé (Le 27/11/2019, à 11:35)

#29 Le 27/11/2019, à 11:33

Watael

Re : [Résolu]Effacer dans history les lignes contenant une cmd précise

la date sert à retrouver, si nécessaire, les données effacées, en créant un fichier de sauvegarde, du même nom que l'original, avec, comme extension, cette date


Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#30 Le 27/11/2019, à 11:35

melixgaro

Re : [Résolu]Effacer dans history les lignes contenant une cmd précise

Salut,
Je dirai que la pratique n'est pas correcte (injecter aussi souvent du texte multiligne dans une console).
Enfin, si vous y tenez, voici ma proposition. Normalement, le réglage par défaut de bash sous ubuntu est que « une ligne commençant par un espace n'est pas ajoutée à l'historique ». Donc plutôt que de s'embêter à enlever une commande de .bash_history autant faire en sorte qu'elle n'y apparaisse jamais. Oui, ça marche pour du multiligne aussi.

Donc avec le réglage idoine dans .bashrc, il faudra taper

 trans "bidule truc" 

au lieu de

trans "bidule truc" 

Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#31 Le 27/11/2019, à 11:41

melixgaro

Re : [Résolu]Effacer dans history les lignes contenant une cmd précise

Il faut ajouter par exemple et si ça n'y est pas déjà :

HISTCONTROL=ignoreboth

dans .bashrc


Linux depuis ~2007. Xubuntu seulement.

Hors ligne

#32 Le 27/11/2019, à 11:41

Compte supprimé

Re : [Résolu]Effacer dans history les lignes contenant une cmd précise

@melixgaro:
merci pour cette astuce smile

#33 Le 27/11/2019, à 12:27

kamaris

Re : [Résolu]Effacer dans history les lignes contenant une cmd précise

Suivant l'idée de melixgaro de prévenir l'enregistrement d'une commande plutôt que de chercher à l'effacer ensuite, il est possible d'ajouter un contenu à la variable HISTIGNORE dans le .bashrc.
En l'occurrence :

HISTIGNORE='trans *'

fera que toute commande trans, sur une ou plusieurs lignes, sera ignorée lors de l'enregistrement dans l'historique.

Hors ligne

#34 Le 27/11/2019, à 13:44

Compte supprimé

Re : [Résolu]Effacer dans history les lignes contenant une cmd précise

@kamaris, @melixgaro : Bien pratique la variable HISTIGNORE , merci j'adopte . smile
--------

@Lucie.Tri : Au cas où voici comment mettre en œuvre la proposition de kamaris #33:

echo "HISTIGNORE='trans *'" >> ~/.bashrc

il y a plus qu'à ouvrir un nouveau terminal et tu constateras que toutes les commandes trans ne s'enregistreront plus dans l' history .
--------

@Watael: merci pour ta réponse #29. Encore une découverte...que c'est cool de débuter cool