Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 20-12-2013 13:33:22

lenglemetz
Admin!
Lieu : Bordeaux
Distrib. : Testing pour faire mumuse !
Noyau : Celui qui passe !
(G)UI : Gnome
Inscription : 29-05-2007
Site Web

grep -v -A3 -B5 "motif" fichier

Hello,

Quelqu'un connait un remplacement a cette commande, qui ne marche pas : grep -v -A3 -B5 "motif" fichier ?
J'ai vu plusieurs solutions en sed "sed -n '/ERROR/! {H;x;s/^.*\n\(.*\n.*\n.*\)$/\1/;x;}; /ERROR/ {H;n;N;N;N;N;H;x;p}'" sur le net mais aucune ne fait l'inversion, et comme je suis limité en sed hmm

☠ ☠ ☠ ⅛|™ ☠ ☠ ☠ ¬|¬ Lenglemetz ¬|¬ ☠ ☠ ☠ ¿|6borg |¿ ☠ ☠ ☠ ®|© >

Hors ligne

#2 20-12-2013 15:01:29

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : grep -v -A3 -B5 "motif" fichier

Salut smile

Tu veux faire quoi au juste ? La première commande, je ne sais même pas ce qu'elle est censée faire, je n'ai jamais mélangé -v et -A. smile

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#3 20-12-2013 15:07:59

lenglemetz
Admin!
Lieu : Bordeaux
Distrib. : Testing pour faire mumuse !
Noyau : Celui qui passe !
(G)UI : Gnome
Inscription : 29-05-2007
Site Web

Re : grep -v -A3 -B5 "motif" fichier

Son but est d'enlever un motif sur un fichier log pour le découper proprement, sans le -v ça marche nickel mais avec ça ne marche pas, hors c'est cette inverse qui m’intéresse

☠ ☠ ☠ ⅛|™ ☠ ☠ ☠ ¬|¬ Lenglemetz ¬|¬ ☠ ☠ ☠ ¿|6borg |¿ ☠ ☠ ☠ ®|© >

Hors ligne

#4 20-12-2013 17:46:34

david96
Invité

Re : grep -v -A3 -B5 "motif" fichier

Peux-tu être moins évasif et nous montrer du concret ? wink

#5 20-12-2013 19:47:46

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : grep -v -A3 -B5 "motif" fichier

Il veut enlever la ligne que contient ERROR ainsi que les 5 lignes qui précèdent et les 3 qui succèdent.

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#6 20-12-2013 20:40:32

david96
Invité

Re : grep -v -A3 -B5 "motif" fichier

Merci, smile


Bien que de voir comment il procède pas à pas (ligne de commande, résultat de cette commande…) aurait été plus agréable !  smile

Dernière modification par Invité-2 (20-12-2013 20:42:17)

#7 20-12-2013 21:55:59

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : grep -v -A3 -B5 "motif" fichier

J'ai plongé mon nez dans les bouquins de sed, et j'ai pondu ça :

sed -n '/ERROR/!{ 1h;1!H;x;s/\(.*\n\)\{5\}/&/;T nope;P;s/^[^\n]*\n//;:nope;$p;x;d } ; /ERROR/{ x;$!n;$!n;$!n;$!n;s/^[^\n]*\n//;x;d }'


captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#8 20-12-2013 21:56:54

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : grep -v -A3 -B5 "motif" fichier

Le « 5 » correspond au nombre de lignes avant, et le nombre de $!n au nombre de lignes après, +1.

captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#9 20-12-2013 23:26:26

kao
Modérateur
Distrib. : Testing
Noyau : Linux 4.quelquechose
(G)UI : Gnome 3
Inscription : 28-09-2012
Site Web

Re : grep -v -A3 -B5 "motif" fichier

captnfab a écrit :

Il veut enlever la ligne que contient ERROR ainsi que les 5 lignes qui précèdent et les 3 qui succèdent.


C'est du maquillage de log ça yikes c'est pas très très bien lol

Hors ligne

#10 21-12-2013 11:20:41

lenglemetz
Admin!
Lieu : Bordeaux
Distrib. : Testing pour faire mumuse !
Noyau : Celui qui passe !
(G)UI : Gnome
Inscription : 29-05-2007
Site Web

Re : grep -v -A3 -B5 "motif" fichier

david96 a écrit :

Merci, smile


Bien que de voir comment il procède pas à pas (ligne de commande, résultat de cette commande…) aurait été plus agréable !  smile



Là c'est un hic car il s'agit de logs médicaux... donc je n'ai pas le droit de le montrer ! mais c'est vrai que j'aurais pu faire un schéma wink


captnfab a écrit :

J'ai plongé mon nez dans les bouquins de sed, et j'ai pondu ça :

sed -n '/ERROR/!{ 1h;1!H;x;s/\(.*\n\)\{5\}/&/;T nope;P;s/^[^\n]*\n//;:nope;$p;x;d } ; /ERROR/{ x;$!n;$!n;$!n;$!n;s/^[^\n]*\n//;x;d }'



OMG, tu es le dieu de sed toi ! je testerai lundi l ! En tout cas Merci !!! Entre temps je suis retombé sur ceci : https://lists.gnu.org/archive/html/bug- … 00007.html  qui marche plus ou moins bien, mais je vais faire des tests sur ton code avant de le mettre en prod wink




kao a écrit :

captnfab a écrit :

Il veut enlever la ligne que contient ERROR ainsi que les 5 lignes qui précèdent et les 3 qui succèdent.


C'est du maquillage de log ça yikes c'est pas très très bien lol



ERROR c'est juste pour un exemple ^^, en réalité c'est pour un filtre de section qui sont inutiles


☠ ☠ ☠ ⅛|™ ☠ ☠ ☠ ¬|¬ Lenglemetz ¬|¬ ☠ ☠ ☠ ¿|6borg |¿ ☠ ☠ ☠ ®|© >

Hors ligne

#11 21-12-2013 17:59:06

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian Stretch/Sid/Rc-Buggy
Noyau : Linux (≥ 4.3)
(G)UI : i3-wm (≥ 4.11)
Inscription : 07-07-2008
Site Web

Re : grep -v -A3 -B5 "motif" fichier

lenglemetz a écrit :

OMG, tu es le dieu de sed toi ! je testerai lundi l !


Haha, non, je me suis plongé un peu dedans, ce sont des choses que je ne connaissais pas du tout. L'édition de sed multiligne est bien plus puissante que je ne le croyais. Par contre, la syntaxe est très basique et il est facile de se tromper.
J'ai passé un après-midi entier à étudier sed et à faire des tests avant de trouver la ligne ci-dessus. Mais du coup, la prochaine fois, je devrais être plus efficace smile


captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

Pied de page des forums