Grep linux aide.

Un bon endroit pour poser ses questions sur Linux, BSD, Smoothwall, ...

Modérateurs : watch, Barbapapa

Grep linux aide.

Message par mackguil » 29 Oct 2016 22:21

J'ai besoin de trouver deux chaines A et B pour les sortir d'un log, j'utilise la commande grep ' \"[0-9]\{8,\}\",' et je voudrais joindre '\"[0-9]\{2,\}\",' à ma recherche mais dans la même ligne sans utiliser un | (pipe) et deux grep.

Une idée lumineuse à proposer ?
Avatar de l’utilisateur
mackguil
Vingt mille
Vingt mille
 
Message(s) : 21159
Inscription : 14 Mai 2005 11:22
Localisation : Luik Belgium

Re: Grep linux aide.

Message par max » 29 Oct 2016 23:48

avec un | dans le regex justement

grep -E "([0-9]{8,}|[0-9]{2,})" ...

le -E c'est pour ne pas devoir échapper tes parenthèses et autres caractères spéciaux.
Avatar de l’utilisateur
max
Barbapapa Team
Barbapapa Team
 
Message(s) : 8788
Inscription : 10 Juin 2001 01:58
Localisation : fr_BE.UTF8@euro

Re: Grep linux aide.

Message par mackguil » 30 Oct 2016 00:10

max a écrit :avec un | dans le regex justement

grep -E "([0-9]{8,}|[0-9]{2,})" ...

le -E c'est pour ne pas devoir échapper tes parenthèses et autres caractères spéciaux.


Code : Tout sélectionner
grep premier terme de cherche file.csv | grep -Eo ''[0-9]\{6,\}'|'\,[0-9]\{2,\}\,'' | sort -r


M'affiche des 00000 et 00001, je ne vois pas mon erreur.

Edit: Merci max, c'était pourtant évident mais des yeux extérieurs sont toujours les bienvenus :wink:

Code : Tout sélectionner
grep premier terme de cherche file.csv | grep -Eo ',"[0-9]{6,}",|,[0-9]{2,}," | sort -r
Avatar de l’utilisateur
mackguil
Vingt mille
Vingt mille
 
Message(s) : 21159
Inscription : 14 Mai 2005 11:22
Localisation : Luik Belgium

Re: Grep linux aide.

Message par max » 30 Oct 2016 00:31

Tu ne dois pas mettre de \ si tu utilises -E

Par contre, l'alternative entre "une suite de caractères parmi 0 à 9 et de longueur 2 ou plus" et "une suite de caractères parmi 0 à 9 et de longueur 6 ou plus" c'est pas judicieuse.

ton {2,} va choper aussi les chaînes de 8 caratères ou plus. Pas besoin d'alternative.

Un site pour tester et aider à comprendre https://regex101.com/
Avatar de l’utilisateur
max
Barbapapa Team
Barbapapa Team
 
Message(s) : 8788
Inscription : 10 Juin 2001 01:58
Localisation : fr_BE.UTF8@euro

Re: Grep linux aide.

Message par mackguil » 30 Oct 2016 00:43

Ok boss, merci.
Avatar de l’utilisateur
mackguil
Vingt mille
Vingt mille
 
Message(s) : 21159
Inscription : 14 Mai 2005 11:22
Localisation : Luik Belgium


Retour vers Unix

Qui est en ligne ?

Utilisateur(s) parcourant ce forum : Aucun utilisateur inscrit

cron