IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Question sur un GREP


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2019
    Messages : 12
    Par défaut Question sur un GREP
    Bonjour j'ai réalisé un Regex que voici :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ^([0-9]{1,3}\.){3}([0-9]){1,3};[0-9]{1,5};([0-9]{1,3}\.){3}([0-9]){1,3};[0-9]{1,5}
    donc celle-ci repère bien une ip par exemple :

    192.168.10.10;12345;192.168.10.12;12345

    Mais lors d'un grep de mon fichier elle ne fonctionne pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     grep -x '([0-9]{1,3}\.){3}([0-9]){1,3};[0-9]{1,5};([0-9]{1,3}\.){3}([0-9]){1,3};[0-9]{1,5}'
    Ne retourne rien !

    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     grep -v '([0-9]{1,3}\.){3}([0-9]){1,3};[0-9]{1,5};([0-9]{1,3}\.){3}([0-9]){1,3};[0-9]{1,5}'
    Retourne cela:

    Request;192.168.12.50 #erreur
    192.168.12.27;192.168.12.50 #erreur

    192.168.12.45;443;192.168.12.50;52192
    192.168.12.123;192.168.12.50 #erreur
    192.168.12.68;161;192.168.12.50;47569


    Normalement :
    192.168.12.68;161;192.168.12.50;47569
    192.168.12.45;443;192.168.12.50;52192



    Je vous joins les commandes pour gagner du temps lors de vos tests : #je sais que les deux awk c'est pas beau je recherche à les rassembler.

    tcpdump -nn src net votrereseau/24 and dst ipdestination -c 1000 | awk 'BEGIN{OFS=";"}{sub(":$","",$5);print $3,$5}' | awk -F\; -v OFS=\; '{$1=gensub(/\./, ";", 4, $1);$2=gensub(/\./, ";", 4, $2)}1' > scan.txt

    grep -v '([0-9]{1,3}\.){3}([0-9]){1,3};[0-9]{1,5};([0-9]{1,3}\.){3}([0-9]){1,3};[0-9]{1,5}' scan.txt

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 349
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 349
    Par défaut
    RTFM:
    Expressions rationnelles simples vs étendues
    Dans les expressions rationnelles simples, les méta-caractères ?, +, {, |, (, et ) perdent leur signification spéciale, il faut utiliser à la place leurs versions avec la contre-oblique \?, \+, \{, \|, \(,
    et \).

    La version traditionnelle d’egrep ne connaît pas le méta-caractère {, et certaines implantations d’egrep utilisent \{ à la place, si bien que des scripts shell portables devraient éviter { dans les motifs
    de grep -E et utiliser [{] pour désigner un caractère {.

    GNU egrep -E essaie d’émuler l’usage traditionnel en supposant que { n’est pas spécial au cas où il rendrait invalide l’expression qu’il commence. Par exemple, la commande shell grep -E ’{1’ recherche la
    chaîne composée des deux caractères {1 au lieu de signaler une erreur de syntaxe dans l’expression rationnelle. POSIX.2 permet ce comportement comme une extension à la norme, mais les scripts portables
    devraient l’éviter.

  3. #3
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2019
    Messages : 12
    Par défaut
    Merci pour ta réponse.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    grep -E '([0-9]{1,3}\.){3}([0-9]){1,3}[;][0-9]{1,5}[;]([0-9]{1,3}\.){3}([0-9]){1,3}[;][0-9]{1,5}'

  4. #4
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Tu peux enlever les crochets autour des points virgules, ils ne sont pas nécessaires. Aussi les groupes qui sont inutiles: ([0-9]){1,3}

  5. #5
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Janvier 2019
    Messages
    12
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Janvier 2019
    Messages : 12
    Par défaut
    Merci pour ta réponse Cosmo.

    Pourquoi il y a des groupes inutiles ?

  6. #6
    Expert confirmé Avatar de CosmoKnacki
    Homme Profil pro
    Justicier interdimensionnel
    Inscrit en
    Mars 2009
    Messages
    2 986
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente Maritime (Poitou Charente)

    Informations professionnelles :
    Activité : Justicier interdimensionnel

    Informations forums :
    Inscription : Mars 2009
    Messages : 2 986
    Par défaut
    Celui que je t'ai mis en exemple ne groupe rien.

Discussions similaires

  1. [grep] Une question sur les expressions régulières
    Par Bahan_auboulot dans le forum Linux
    Réponses: 5
    Dernier message: 04/12/2008, 19h12
  2. Question sur Grep
    Par zbouboy dans le forum Shell et commandes GNU
    Réponses: 7
    Dernier message: 15/02/2007, 23h56
  3. Une tite question sur Grep()
    Par bluecurve dans le forum Langage
    Réponses: 16
    Dernier message: 16/07/2005, 15h47
  4. Réponses: 2
    Dernier message: 11/08/2002, 21h27
  5. question sur les message box !
    Par krown dans le forum Langage
    Réponses: 7
    Dernier message: 02/08/2002, 16h11

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo