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

Hi

was ist daran falsch?

PASS1='$password = "xxxxxxxx";'; PASS2='$password = "yyyyyyyy";'; sed 's/'$PASS2'/'$PASS1'/' /tmp/datei.conf > /tmp/datei.conf
sed: -e expression #1, char 11: unterminated `s' command

Janine

  1. Hi,

    PASS1='$password = "xxxxxxxx";'; PASS2='$password = "yyyyyyyy";'; sed 's/'$PASS2'/'$PASS1'/' /tmp/datei.conf > /tmp/datei.conf
    sed: -e expression #1, char 11: unterminated `s' command

    s/ ist etwas wenig ...
    Achte auf die '

    cu,
    Andreas

    --
    Warum nennt sich Andreas hier MudGuard?
    Schreinerei Waechter
    O o ostern ...
    Fachfragen unaufgefordert per E-Mail halte ich für unverschämt und werde entsprechende E-Mails nicht beantworten. Für Fachfragen ist das Forum da.
    1. Hi

      PASS1='$password = "xxxxxxxx";'; PASS2='$password = "yyyyyyyy";'; sed 's/'$PASS2'/'$PASS1'/' /tmp/datei.conf > /tmp/datei.conf
      sed: -e expression #1, char 11: unterminated `s' command

      s/ ist etwas wenig ...
      Achte auf die '

      wie meinst du das?

      wenn ich folgende Befehle ausführe, ist die Datei danach leer
      echo "blub" > /tmp/datei.conf; sed 's/blub/bla/' /tmp/datei.conf > /tmp/datei.conf
      was ist daran falsch?

      Janine

      1. gudn tach!

        PASS1='$password = "xxxxxxxx";'; PASS2='$password = "yyyyyyyy";'; sed 's/'$PASS2'/'$PASS1'/' /tmp/datei.conf > /tmp/datei.conf
        sed: -e expression #1, char 11: unterminated `s' command

        s/ ist etwas wenig ...
        Achte auf die '

        wie meinst du das?

        wenn ich folgende Befehle ausführe, ist die Datei danach leer
        echo "blub" > /tmp/datei.conf; sed 's/blub/bla/' /tmp/datei.conf > /tmp/datei.conf
        was ist daran falsch?

        solange in blub und bla keine einfachen anfuehrungszeichen vorkommen, ist da nichts falsch. bei dir kommen sie aber vor und sollten deswegen maskiert werden.

        prost
        seth

        1. hi

          PASS1='$password = "xxxxxxxx";'; PASS2='$password = "yyyyyyyy";'; sed 's/'$PASS2'/'$PASS1'/' /tmp/datei.conf > /tmp/datei.conf
          sed: -e expression #1, char 11: unterminated `s' command

          s/ ist etwas wenig ...
          Achte auf die '

          wie meinst du das?

          wenn ich folgende Befehle ausführe, ist die Datei danach leer
          echo "blub" > /tmp/datei.conf; sed 's/blub/bla/' /tmp/datei.conf > /tmp/datei.conf
          was ist daran falsch?

          solange in blub und bla keine einfachen anfuehrungszeichen vorkommen, ist da nichts falsch. bei dir kommen sie aber vor und sollten deswegen maskiert werden.

          mit den ' wollte ich den String öffnen und schließen, da mir sonst $PASS1 nicht ersetzt wird, sondern direkt so ausgegeben wird

          Janine

          1. gudn tach!

            mit den ' wollte ich den String öffnen und schließen, da mir sonst $PASS1 nicht ersetzt wird, sondern direkt so ausgegeben wird

            dafuer sind dann die (doppelten) anfuehrungszeichen ganz gut geeignet.

            sed "s/$PASS2/$PASS1/"

            prost
            seth

            1. hi

              mit den ' wollte ich den String öffnen und schließen, da mir sonst $PASS1 nicht ersetzt wird, sondern direkt so ausgegeben wird

              dafuer sind dann die (doppelten) anfuehrungszeichen ganz gut geeignet.

              sed "s/$PASS2/$PASS1/"

              warum wird bei
              sed "s/$PASS2/$PASS1/" /tmp/datei.conf > /tmp/datei.conf
              die Datei geleert?

              bei
              sed "s/$PASS2/$PASS1/" /tmp/datei.conf > /tmp/datei1.conf
              steht in der Ausgabedatei das erwartete drin.

              Janine

              1. gudn tach!

                warum wird bei
                sed "s/$PASS2/$PASS1/" /tmp/datei.conf > /tmp/datei.conf
                die Datei geleert?

                mit "> file" wuerde file erstmal geleert, egal ob schon was drinstand.

                um eine datei "in-place" mit sed zu bearbeiten, d.h. eine datei quasi zu aendern also nicht nur eine geaenderte kopie anzulegen, kannst du den parameter -i verwenden. mehr dazu siehe "man sed".

                prost
                seth