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 :

sed et expression régulière


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Analyste d'exploitation
    Inscrit en
    Mai 2014
    Messages
    75
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 45
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Analyste d'exploitation
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2014
    Messages : 75
    Par défaut sed et expression régulière
    Bonjour,
    Par avance merci pour vos lumières sur ce sujet.

    besoin de quelques explications sur cet exemple/exercice ci-dessous. (J'avoue sans honte que j'ai beaucoup de mal avec les "er" plus encore quand avec caractères d'échappement)

    Stocker, dans le fichier dpt_56 toutes les personnes habitant le Morbihan et,
    dans le fichier dpt_89, toutes les personnes habitant dans l’Yonne.
    L’option -e précède chaque action :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    $ sed -n -e/ˆ[ˆ|]*|[ˆ|]*|56/w dpt_56’ 
    -e/ˆ[ˆ|]*|[ˆ|]*|89/w dpt_89’ tel2.txt 
    $ cat dpt_56 
    Karama Josette|256 rue de la tempete|56100|Lorient|85.26.45.58 
    Zanouri Joel|45/48 boulevard du Gard|56100|Lorient|85/56/45/58 
    $ cat dpt_89 
    Joyeux Giselle|12. rue de la Source|89290|Vaux|45.26.28.47
    De mon côté, je comprends la commande ainsi : "Recherche un motif en commençant en début de ligne, qui exclut le caractère "|" possiblement présent entre 0 et n fois"

    Autre question, pouvez-vous, svp, m'expliquez pourquoi l'exclusion entre crochet est doublé d'autant, que le caractère de répétition * est présent -e ’/ˆ[ˆ|]*|[ˆ|]*|56/w dpt_56’

    Merci pour l'aide.

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 376
    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 376
    Par défaut
    Prenons la première regex qui est ˆ[ˆ|]*|[ˆ|]*|56 , celle-ci s'interprête comme ceci:

    Ligne commençant par m caractères différents de '|' suivi d'un '|' suivi de n caractères différents de '|' suivi de '|56' avec m et n pouvant être 0.

  3. #3
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 295
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 295
    Par défaut
    Bonjour

    Recommencement d'une discussion lancée le 28 juillet ?
    Décidément, cette Josette du Morbihan est obsédante.

Discussions similaires

  1. Sed et expressions régulières
    Par lika_lika dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 04/09/2013, 10h52
  2. [sed] Expression régulière pour remplacer les emails
    Par ben.IT dans le forum Shell et commandes GNU
    Réponses: 4
    Dernier message: 11/01/2013, 13h44
  3. Expressions régulières avec SED
    Par ldiaz dans le forum Shell et commandes GNU
    Réponses: 11
    Dernier message: 27/04/2012, 09h03
  4. Aide pour une expression régulière avec sed
    Par Loceka dans le forum Administration système
    Réponses: 4
    Dernier message: 05/10/2011, 09h48
  5. Problème de sed et expression régulière
    Par Empty_body dans le forum Linux
    Réponses: 11
    Dernier message: 12/03/2009, 09h15

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