Forum Programmation.shell petit souci avec la commande grep

Posté par . Licence CC by-sa.
Tags :
0
17
mar.
2019

bonjour a tous !
étant debutant dans le shell je commence doucement mais la j'ai beau faire des recherche mais je ne trouve pas la solution a mon problème:

grep -in '^[0-9]{1 4}" "[a-z]{1 3}" "(1[6-9]\|2[0-9]\|3[0-3]\|75\|78\|9[1-5])' $1

je souhaite récupérer les ligne commençant par :
1 a 4 chiffre puis
un espace puis
1 a 3 lettre puis
la sa se complique un peut : (sois un chiffre entre 16 et 33, sois 75 sois 78 sois 91 a 95

et lors de l'execution de cette commande je n'obtient pas le resultat souhaiter si on peut me dire ou est mon erreur je vous en serai reconnaissant merci d'avance !

  • # préciser le nombre d'occurence

    Posté par . Évalué à 1. Dernière modification le 17/03/19 à 13:56.

    Je pense que tu as oubliés d'utiliser les {nombre} qui permet de définir le nombre de fois ou tu trouves chaque éléments.

    Par exemple :

    1[6-9]{0,}  => attrape tout les 16, 17, 18 etc
    1[6-9]{1,}  => doit au moins avoir une occurrence de 16, 17, 18, etc
    1[6-9]{2}  => doit avoir 2 occurrences ni plus ni moins
    

    Parfois il faut échapper les parenthèses (par exemple dans les scripts conky)

    🇪🇺

    • [^] # Re: préciser le nombre d'occurence

      Posté par . Évalué à 1.

      j'ai essayer en précisant le nombre d'occurence cela ce lance sans erreur mais ne me sort aucun resultat :(

    • [^] # Re: préciser le nombre d'occurrence

      Posté par . Évalué à 1.

      La commande reçoit l'argument transmis par le shell après « expansion ». Certains caractères sont spéciaux pour le shell et/ou pour la commande.

  • # Expressions régulières

    Posté par . Évalué à 1. Dernière modification le 17/03/19 à 15:01.

    Les guillemets persistent dans l'expression régulière parce qu'ils ne sont retirés par le shell.

    grep -n -E '^[0-9]{1,4}[[:space:]][[:alpha:]]{1,3}([12][0-9]|[3][0-3]|7[58]|[9][1-5])' $1
    
    grep -n -E '^[0-9]{1,4} [[:alpha:]]{1,3} ([12][0-9]|[3][0-3]|7[58]|[9][1-5])' $1
    

    Voir aussi

    • man 7 regex
    • info bash (utilisateur avancé)
  • # resolu

    Posté par . Évalué à 1. Dernière modification le 17/03/19 à 15:49.

    Merci beaucoup !!!
    comme toujour, un soucis de syntaxe

Suivre le flux des commentaires

Note : les commentaires appartiennent à ceux qui les ont postés. Nous n'en sommes pas responsables.