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

Linux Discussion :

Sed et expressions regulieres


Sujet :

Linux

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 66
    Par défaut Sed et expressions regulieres
    Bonsoir,

    Je dois écrire un bash qui me permette d'effectuer, notamment, les transformations suivantes :
    J'ai dans un fichier des lignes du style

    PATH '/rep1/rep2/instance/bdd/rep3/rep4'
    PATH '/rep1/instance/bdd/rep3/rep4'
    PATH '/rep1/rep2/rep5/instance/bdd/rep3/rep4'


    A la fin je voudrais obtenir un fichier comme suit :

    PATH '/nvo_rep/instance/bdd/rep3/rep4'
    PATH '/nvo_rep/instance/bdd/rep3/rep4'
    PATH '/nvo_rep/instance/bdd/rep3/rep4'


    J'ai regardé pas mal de sites sur les expressions régulières, mais là je sèche complètement.
    J'arrive à faire un grep mais en mettant tout cela dans un sed là ça cafouille.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    grep "PATH  ".*$"\<"instance"\>" fichier1 > fichier2
    Pourriez-vous m'aider ?

  2. #2
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     sed -e 's|\(.*\)/\([^/]*\)/\(.*$\)|\1nv_rep\3|'

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 66
    Par défaut
    Bonjour Becket

    Merci d'avoir répondu.

    J'ai passé ta requete mais n'obtiens pas le résultat escompté.
    Pour coller au plus près à mon exemple, j'ai créé un fichier temp
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     cat temp
    PATH '/rep1/rep2/instance/bdd/rep3/rep4'
    PATH '/rep1/instance/bdd/rep3/rep4'
    PATH '/rep1/rep2/rep5/instance/bdd/rep3/rep4'
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -e 's|\(.*\)/\([^/]*\)/\(.*$\)|\1nv_rep\3|' temp > temp1
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    cat temp1
    PATH '/rep1/rep2/instance/bddnv_reprep4'
    PATH '/rep1/instance/bddnv_reprep4'
    PATH '/rep1/rep2/rep5/instance/bddnv_reprep4'
    Donc si tu pouvais m'aider. Je continue bien sur à investiguer

  4. #4
    Expert confirmé
    Avatar de becket
    Profil pro
    Informaticien multitâches
    Inscrit en
    Février 2005
    Messages
    2 854
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Informaticien multitâches
    Secteur : Service public

    Informations forums :
    Inscription : Février 2005
    Messages : 2 854
    Par défaut
    Effectivement

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     sed -e 's|^\([^/]*\)/[^/]*/\(.*\).|\1/nvo_rep/\2|'

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 66
    Par défaut
    Becket,

    Excuse moi j'ai résolu le souci avant de partir manger. Mais ta commande est la bonne

    Grâce à toi j'ai compris un peu mieux les expressions régulières !

    Merci !!!!

Discussions similaires

  1. sed et expression reguliere
    Par pseudobidon57 dans le forum Shell et commandes GNU
    Réponses: 10
    Dernier message: 21/09/2007, 14h07
  2. Sed et expressions regulieres
    Par Tronche dans le forum Linux
    Réponses: 1
    Dernier message: 16/03/2007, 14h52
  3. Réponses: 2
    Dernier message: 16/06/2003, 15h15
  4. [langage] surement une expression régulière...
    Par armada dans le forum Langage
    Réponses: 5
    Dernier message: 30/05/2003, 17h06
  5. [langage] expression reguliere motif répétitif dans 1 pattern
    Par comme de bien entendu dans le forum Langage
    Réponses: 11
    Dernier message: 09/04/2003, 16h14

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