Partage
  • Partager sur Facebook
  • Partager sur Twitter

Sed -> unterminated `s' command

Sujet résolu
    21 octobre 2016 à 11:59:51

    Bonjour à tous,

    Je suis en train de me créer des ptits scripts qui font le café mais je bute sur un problème de taille.

    J'ai cette variable : 

    h='/*
    ** {{FILENAME}} for {{PROJECT}} in {{DIRECTORY}}
    **
    ** Made by {{USERNAME}}
    ** Login   <{{MAIL}}>
    **
    ** Started on  {{DATE}} {{USERNAME}}
    ** Last update {{DATE}} {{USERNAME}}
    */'
    

    J'arrive à changer tous les tags {{qqch}}

    Mais là où je bute c'est à ce niveau là 

    cat $i | sed -e "s,{{HEADER}},$h,g"

    $i contient bien mon fichier (il le cat aussi), mais le dernier sed (celui qui doit remplacer les {{HEADER}} par le contenu de $h) me met l'erreur 

    sed: -e expression #1, char 15: unterminated `s' command
    

    Pourtant le dernier séparateur ',' est bien présent. J'ai essayé aussi avec des # sans succès.

    En attendant votre réponse,

    Eyelockment



    • Partager sur Facebook
    • Partager sur Twitter
    Software is like sex. It's better when it's free. (LT)
      21 octobre 2016 à 12:31:50

      salut,

      c'est les alinéas !

      en bash :

      cat "$i" | sed -e "s,{{HEADER}},${h//$'\n'/\\n},g" #il y a bien deux \\

      ce qui remplace les alinéas dans la variable par le caractère \n qui sera remplacer par sed.

      • Partager sur Facebook
      • Partager sur Twitter

      Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

        21 octobre 2016 à 13:03:40

        Ca marche merci ^^

        Mais les accolades du coup, c'est pour échapper les \n ?? 

        • Partager sur Facebook
        • Partager sur Twitter
        Software is like sex. It's better when it's free. (LT)
          21 octobre 2016 à 13:14:44

          c'est un Remplacement des paramètres (cf. man bash).

          effectivement, ça remplace les retours chariot de la variable par \\n

          • Partager sur Facebook
          • Partager sur Twitter

          Validez la réponse utile « Un problème clairement exposé est à moitié résolu. » Pas de MP technique

            21 octobre 2016 à 13:54:30

            Super merci beaucoup :)
            • Partager sur Facebook
            • Partager sur Twitter
            Software is like sex. It's better when it's free. (LT)

            Sed -> unterminated `s' command

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown