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 :

Rajouter des caractères dans une chaine


Sujet :

Shell et commandes GNU

  1. #1
    Membre du Club Avatar de pymouse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 137
    Points : 67
    Points
    67
    Par défaut Rajouter des caractères dans une chaine
    j'ai une chaine $CHAINE=/usr/bin/truc

    ensuite je fait un sed -e -i 's/chemin=\".*\"/ chemin=\"'$CHAINE'\"/g monfichier'

    J'ai une erreur avec sed, car la commande qui est interprété est :
    sed -e -i 's/chemin=\".*\"/ chemin=\"/usr/bin/truc\"/g monfichier'

    Donc pour sed bloque sur le /usr, je voudrai formater $CHAINE par \/sur\/bin\/truc...

    Comment je peut rajouté un "\" devant chaque "/" de ma chaine ? Il y a peut etre une autre solution plus simple ?

  2. #2
    Rédacteur
    Avatar de _Mac_
    Profil pro
    Inscrit en
    Août 2005
    Messages
    9 601
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2005
    Messages : 9 601
    Points : 12 977
    Points
    12 977
    Par défaut
    Hello,

    Tu dois pouvoir utiliser un autre caractère de séparateur des expressions sed que le /, comme par exemple le pipe (|) ou la virgule (,) qui a peu de chances de se retrouver dans un nom de fichier, d'où :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -e -i 's|chemin=\".*\"| chemin=\"'$CHAINE'\"|g' monfichier
    ou

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -e -i 's,chemin=\".*\", chemin=\"'$CHAINE'\",g' monfichier

  3. #3
    Membre du Club Avatar de pymouse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2004
    Messages
    137
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2004
    Messages : 137
    Points : 67
    Points
    67
    Par défaut
    Très bien merci, c'est réglé !

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

Discussions similaires

  1. Remplacer des caractères dans une chaine et enlever certains
    Par Lucas Panny dans le forum SL & STL
    Réponses: 6
    Dernier message: 12/01/2009, 14h26
  2. Réponses: 4
    Dernier message: 14/11/2008, 21h00
  3. Remplacer des caractères dans une chaine interbase 7.5
    Par zaydoun_391 dans le forum InterBase
    Réponses: 1
    Dernier message: 15/04/2008, 16h57
  4. [Tableaux] Supprimer des caractères dans une chaine
    Par ddubois dans le forum Langage
    Réponses: 10
    Dernier message: 16/12/2006, 13h53
  5. Réponses: 4
    Dernier message: 29/08/2006, 17h44

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