Frage zu sed

Diskutiere Frage zu sed im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; hi, ich habe folgenden code: echo "Ersetze Platzhalter <RUNHOME>" sed -e 's/<RUNHOME>/'${CDF_RUNHOME}'/' $SCRIPT_PATH/start-stop-script >...

  1. #1 steffi.kom, 26.07.2005
    steffi.kom

    steffi.kom Grünschnabel

    Dabei seit:
    01.07.2005
    Beiträge:
    3
    Zustimmungen:
    0
    hi,

    ich habe folgenden code:

    Code:
    echo "Ersetze Platzhalter <RUNHOME>"
    sed  -e 's/<RUNHOME>/'${CDF_RUNHOME}'/' $SCRIPT_PATH/start-stop-script > $SCRIPT_PATH/start-stop-script_2
    mv $SCRIPT_PATH/start-stop-script_2 $SCRIPT_PATH/start-stop-script
    <RUNHOME> ist in einer Datei, was durch die vordefinierte Variable CDF_RUNHOME ersetzt werden soll.

    Bei allen anderen Ersetzungen funktioniert es, nur bei den <PLATZHALTERN>, die Verzeichnisse sind (also <RUNHOME> = /opt/ordner/test) geht es nicht.

    Habe es schon mit \ versucht, aber das funktioniert leider nicht.
     
  2. hmhweb

    hmhweb Mitglied

    Dabei seit:
    29.11.2004
    Beiträge:
    46
    Zustimmungen:
    0
    Hallo,

    stimmt, mit / in Pfadnamen ist schwierig. Tausch einfach die Trennzeichen / im sed-Kommando aus, also so:

    sed -e "s#<RUNHOME>#${CDF_HOME}#" filexyz

    oder

    sed -e s#\<RUNHOME\>#${CDF_HOME}# filexyz

    Das waren also mehrere Probleme: die < und > sind ja Sonderzeichen in der shell (deshalb \< oder " ), die ' blocken die Variablenersetzung (deshalb " oder keins) und die / des Pfades in der Variablen waren gleich den Trennzeichen :)

    hmh
     
  3. #3 steffi.kom, 17.08.2005
    steffi.kom

    steffi.kom Grünschnabel

    Dabei seit:
    01.07.2005
    Beiträge:
    3
    Zustimmungen:
    0
    Ich habe es dann einfach so gelöst:

    Code:
    echo "Replace Placeholder <RUNHOME>"
    CDF_RUNHOME2=$(echo $CDF_RUNHOME | sed 's/\//\\\//g')
    sed  -e 's/<RUNHOME>/'$CDF_RUNHOME2'/' $SCRIPT_PATH/start-stop-script > $SCRIPT_PATH/start-stop-script_2
    mv $SCRIPT_PATH/start-stop-script_2 $SCRIPT_PATH/start-stop-script
     
Thema:

Frage zu sed

Die Seite wird geladen...

Frage zu sed - Ähnliche Themen

  1. Telefoninterview (Wie sich auf Bash-Shell-Fragen vorbereiten?)

    Telefoninterview (Wie sich auf Bash-Shell-Fragen vorbereiten?): Hallo Leute :) Ich habe heute eine E-Mail bekommen und zwar für ein Telefoninterview am übermorgen und ich bin da recht nervös, vor allem am...
  2. 2 Gateways - ein Netz. Verständnisfrage

    2 Gateways - ein Netz. Verständnisfrage: Hallo Gemeinschaft, ich habe 2 Gateways zu einem Netz. Mit dem ersten kommen VPN Verbindungen Net2Net mittels FritzBox herein. Ich meine es ist...
  3. Fragen zu stty, quotes und Datein (flush)

    Fragen zu stty, quotes und Datein (flush): Hi, ich schreibe seit ein paar Tagen ein Skript, dass über die Serielle Schnittstelle kommuniziert. Leider gibt es noch zwei Probleme, die ich...
  4. Verständnisfrage zu RegExps

    Verständnisfrage zu RegExps: Hallo Leute, ich bastle gerade an einem Shell-Script und brauche dabei ein paar RegExps. Bisher hatte ich mich mit RegExps wenig auseinander...
  5. grub2 Frage

    grub2 Frage: Hallo Es gibt ja die Möglichkeit, bei grub2 bestimmte Menüeinträge automatsich starten zu lassen (/etc/default/grub). Wie kann ich aber unter...