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 -i dans un script sh ; ca marche pas


Sujet :

Shell et commandes GNU

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 49
    Par défaut SED -i dans un script sh ; ca marche pas
    bonjour,
    dans un script j'essai de remplacer un mot contenu dans un fichier mais à l'execution ca ne marche pas, par contre quand je l'utilise directement en ligne de commande ca marche, voici mon code, merci pour votre aide:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    case "$reponse" in
            "o")
            echo -n "Par quel mot voudriez-vous remplacer $mot ? "
            read remp
            sed -i 's/"'$mot'"/"'$remp'"/' /exo/remptest
            ;;
     
            "n")
            echo c\'est vous qui voyez !!;;
     
            *) echo "Erreur, vous deviez répondre par oui ou par non.";;
    esac

  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
    Par défaut
    T'as un message d'erreur ou qqch du genre ?

  3. #3
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 49
    Par défaut
    merci pour votre rapidité.
    je n'ais aucun message d'erreur, mais c'est en me rendant dans le fichier concernant je me rends compte que la modif n'a pas ete pris en compte,
    mais si je tape directement:

    sed -i 's/bonjour/salut/' /exo/remptest

    alors ca marche, j'ais essayé de protéger mes variables mais rien y fait,
    merci

  4. #4
    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
    Par défaut
    C'est évident !!!

    Regarde ta commande sed et essaie de la réécrire toi-même en faisant les substitutions. Tu t'apercevras que sed doit remplacer "bonjour" par "salut" et pas seulement bonjour par salut. Y a des guillemets en trop !!

  5. #5
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 49
    Par défaut
    Désolé d'insister , mais j'ais essayé en retirant les guillemets,toujours la meme histoire...

    sed -i 's/$mot/$remp/' /exo/remptest

  6. #6
    Membre averti
    Inscrit en
    Décembre 2006
    Messages
    49
    Détails du profil
    Informations forums :
    Inscription : Décembre 2006
    Messages : 49
    Par défaut
    j'ais tout essayé je comprends ke vous preferiez ke je trouve par moi meme...je ne vois pas les kels guillmets sont en trop

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i 's/"'$mot'"/"'$remp'"/' /exo/remptest

  7. #7
    Membre éclairé
    Inscrit en
    Décembre 2003
    Messages
    89
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 89
    Par défaut
    Citation Envoyé par lemordore
    j'ais tout essayé je comprends ke vous preferiez ke je trouve par moi meme...je ne vois pas les kels guillmets sont en trop

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i 's/"'$mot'"/"'$remp'"/' /exo/remptest


    si tu fais juste:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i 's/'$mot'/'$remp'/' /exo/remptest
    ca ne marche pas ?

Discussions similaires

  1. Réponses: 4
    Dernier message: 29/05/2007, 17h04
  2. Erreur dans une boucle et ne marche pas ?
    Par mitherkiller dans le forum SDL
    Réponses: 8
    Dernier message: 21/04/2007, 14h17
  3. [SQL] Script PHP qui marche pas !
    Par Diabless6 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 12/02/2007, 16h28
  4. script qui ne marche pas chez firefox
    Par phpaide dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 24/05/2006, 13h20
  5. affichage dans le front buffers ne marche pas!
    Par jamal24 dans le forum OpenGL
    Réponses: 3
    Dernier message: 22/08/2003, 19h14

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