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 antislash


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 165
    Par défaut Sed et antislash
    Bonjour,

    j'ai essayé pas mal de combinaisons pour que le caractère \ ne soit pas interprété comme autre chose qu'un simple mot (\\, '\', "\", etc), et ça ne marche pas. Voici la ligne en question :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -e "s/%Expr1%/%Expr2%\Expr3/g" fichier_txt1 > fichier_txt2
    Donc la présence de cet \ entre %Expr2% et Expr3 remplace Expr1 par :

    au lieu de

    Comment résoudre ce problème proprement svp ? Merci

  2. #2
    Expert confirmé Avatar de frp31
    Homme Profil pro
    Ingénieur systèmes et réseaux
    Inscrit en
    Juillet 2006
    Messages
    5 196
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Ingénieur systèmes et réseaux
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Juillet 2006
    Messages : 5 196
    Par défaut
    c'est '\\\' pour en faire 1
    dans une expression SED....

    \\ en crée un qui permet de ne pas interpréter le caractère \

    exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    ois@debian:~$ echo 'toto\tutu' | sed "s/\\\/+/"
    toto+tutu
    ois@debian:~$

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    165
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2006
    Messages : 165
    Par défaut
    Merci bien frp31

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -e "s/%Expr1%/%Expr2%\\\Expr3/g" fichier_txt1 > fichier_txt2
    renvoie le résultat attendu :


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

Discussions similaires

  1. Extraire une valeur d'une ligne avec sed
    Par jojolepabo dans le forum Linux
    Réponses: 6
    Dernier message: 27/10/2004, 09h34
  2. Réponses: 10
    Dernier message: 03/09/2004, 17h26
  3. [langage] Doubler les antislashs
    Par tshupaka dans le forum Langage
    Réponses: 3
    Dernier message: 24/07/2004, 15h09
  4. Makefile et sed
    Par pitistef dans le forum Systèmes de compilation
    Réponses: 7
    Dernier message: 10/02/2004, 15h06
  5. [langage] awk et sed dans script perl
    Par scoti dans le forum Langage
    Réponses: 3
    Dernier message: 07/04/2003, 18h26

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