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 POSIX Discussion :

Message d'erreur avec la commande "sed -i" [OS X] [Bash 3]


Sujet :

Shell et commandes POSIX

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut Message d'erreur avec la commande "sed -i"
    Bonjour,

    je fonctionne sous MAC en BASH
    j'essaye de remplacer des lignes dans un fichier. J'ai trouvé un exemple simple sur internet.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    $echo "abc" > test.txt
    $cat test.txt
    abc
    $sed -i 's/abc/efg/' test.txt
    sed: 1: "test.txt": undefined label 'est.txt'
    je ne comprend pas pourquoi il me renvoie ce message d'erreur. Auriez-vous une explication ? Merci d'avance

  2. #2
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Salut,

    Apparemment sous Mac OS, il faut rajouter une extension (suffixe) à l'option "-i" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i.bak 's/abc/efg/' test.txt
    Ou alors rajouter un espace entre l'option et l'expression :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i '' 's/abc/efg/' test.txt
    Explication trouvée ici

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut
    Bonjour zip31 et merci pour ta réponse.

    J'ai essayé ce que tu m'a dit en ligne de commande

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    sed -i.bak 's/$numero2 $nomfichier2/$e $nomfichier2/' fichierTampon3.txt
    ça marche, mais ça ne marche pas dans un fichier bash. D'où peut provenir l'erreur ? Merci d'avance pour vos suggestions

  4. #4
    Expert confirmé

    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    1 946
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Janvier 2011
    Messages : 1 946
    Par défaut
    Citation Envoyé par flamant Voir le message
    mais ça ne marche pas dans un fichier bash. D'où peut provenir l'erreur ?
    Des variables qui ne sont pas interprétées entre quotes simples

    Donc au choix :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i.bak "s/$numero2 $nomfichier2/$e $nomfichier2/" fichierTampon3.txt
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    sed -i.bak 's/'"$numero2 $nomfichier2"'/'"$e $nomfichier2"'/' fichierTampon3.txt

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Septembre 2006
    Messages
    729
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2006
    Messages : 729
    Par défaut
    Bonjour zipe31 et merci pour ta réponse.

    ça marche.

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

Discussions similaires

  1. message d'erreur avec commande Enregistrer
    Par goofyto8 dans le forum Windows XP
    Réponses: 2
    Dernier message: 26/02/2010, 13h50
  2. message d'erreur avec borland c++
    Par sally042 dans le forum Autres éditeurs
    Réponses: 1
    Dernier message: 06/12/2006, 15h41
  3. Erreur avec la commande free
    Par be_tnt dans le forum C
    Réponses: 17
    Dernier message: 14/06/2006, 11h20
  4. Message d'erreur avec Bulk Insert
    Par Shivas dans le forum Décisions SGBD
    Réponses: 2
    Dernier message: 18/07/2005, 12h03

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