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 expression rationnelle


Sujet :

Linux

  1. #1
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Points : 58
    Points
    58
    Par défaut sed et expression rationnelle
    Bonjour à tous !

    en ce moment, j'essaye d'apprendre à me servir de sed, l'idée est de m'en servir côté serveur pour deux trois applications web.

    Problème: j'ai l'impression que sed n'interprète pas les expressions rationnelles de manière conforme. Par exemple, [^toto] voudrait dire 'toto en début de ligne' au lieu de 'toto en début de chaine de caractères'

    Cela m'ennuie pas mal... En effet, en ce moment j'essaye de faire un chercher/remplacer dans un gros paquet de caractères sans retour à la ligne.
    Je suis dans une situation du type:

    debut blablabla variable fin suite
    et je veux supprimer toute la chaine qui va de 'debut' à 'fin', en sachant que 'blabla variable' peut varier (étonnant non?). Donc, naïvement, je fais:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -re 's/[^debut][fin$]//g' toto
    mais évidemment, ça ne marche pas

    Quelqu'un peut-il m'expliquer pourquoi et comment faire?

    Merki !

    P.S: même problème dans vim, pourtant un chercher remplacer [^debut][fin$] dans n'importe quel éditeur graphique fonctionne...

  2. #2
    Membre averti
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    417
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations forums :
    Inscription : Mai 2007
    Messages : 417
    Points : 376
    Points
    376
    Par défaut
    j ai pas tout compris mais bon.

    avec la chaine :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    debut blablabla variable fin suite
    si tu veux virer entre début et fin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 's/\(debut\).*\(fin\)/\1 \2/' toto
    ça donne :
    si tu veux virer de début à fin :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed 's/debut.*fin//' toto
    ça donne :

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    83
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 83
    Points : 58
    Points
    58
    Par défaut
    oki oki, merci beaucoup...

    c donc moi qui était complètement à l'ouest...


+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Expression rationnelle
    Par Shadow aok dans le forum Langage
    Réponses: 15
    Dernier message: 28/12/2005, 17h29
  2. Non ambiguïté d'expressions rationnelles
    Par David.Schris dans le forum Algorithmes et structures de données
    Réponses: 22
    Dernier message: 27/12/2005, 16h11
  3. [RegEx] Images et expression rationnelle
    Par Invité dans le forum Langage
    Réponses: 7
    Dernier message: 30/10/2005, 15h50
  4. Réponses: 2
    Dernier message: 21/02/2005, 10h42
  5. [langage] Expressions rationnelles (perl/C)
    Par ma2th dans le forum Langage
    Réponses: 11
    Dernier message: 02/08/2004, 18h07

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