sed Text in Datei ersetzen Problem

Diskutiere sed Text in Datei ersetzen Problem im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; also ich will einen Platzhalter in einer Datei {PLATZHALTER} ersetzen mit einem Verzeichnisnamen /test/1/2/ mein Code: #!/bin/bash...

  1. sparky

    sparky Mitglied

    Dabei seit:
    16.01.2004
    Beiträge:
    47
    Zustimmungen:
    0
    also ich will einen Platzhalter in einer Datei {PLATZHALTER} ersetzen mit einem Verzeichnisnamen /test/1/2/

    mein Code:
    Code:
    #!/bin/bash
    MOD_PATH=""
    
    echo -n "Verzeichnis relativ wwwroot: "
    read MOD_PATH
    
    for i in *.html ; do
            sed -e 's/\{MOD_PATH\}/$MOD_PATH/g' "$i" > "$i.back"
    done
    exit 0
    
    das problem, ich hab nacher $MOD_PATH als ersetzung drin. und wenn ich " statt ' mache, dann bekomm ich einen Fehler. ich schätze es liegt daran dass in edm Ersetzungsstring / vorkommen.
    Hat jemand eine Lösung ?
     
  2. Anzeige

    Anzeige

    Wenn du mehr über Linux erfahren möchtest, dann solltest du dir mal folgende Shellkommandos anschauen.


    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. meez

    meez miis

    Dabei seit:
    27.04.2003
    Beiträge:
    46
    Zustimmungen:
    0
    Ort:
    CH
    sed -e 's/\{MOD_PATH\}/'"$MOD_PATH"'/g' "$i" > "$i.back"

    So sollte es gehen...
     
  4. sparky

    sparky Mitglied

    Dabei seit:
    16.01.2004
    Beiträge:
    47
    Zustimmungen:
    0
    nein, sowas hab ich auch schon versucht ;)

    Code:
    sed -e 's/\{MOD_PATH\}/'"$MOD_PATH"'/g' "$i" > "$i.back"
    
     
  5. meez

    meez miis

    Dabei seit:
    27.04.2003
    Beiträge:
    46
    Zustimmungen:
    0
    Ort:
    CH
    Es würde funktionieren...;)
    Aber du hast einen Pfad, also / im Inhalt der Var...
     
  6. meez

    meez miis

    Dabei seit:
    27.04.2003
    Beiträge:
    46
    Zustimmungen:
    0
    Ort:
    CH
    so funzt...Ist einfach ein wenig umstädlich..;)

    sed 's/\{MOD_PATH\}/'`echo $MOD_PATH | sed 's/\//@@PLACEHOLDER@@/g'`'/g' $i | sed 's/@@PLACEHOLDER@@/\//g' > "$i.back"
     
  7. oenone

    oenone Freier Programmierer[Mod]

    Dabei seit:
    22.08.2002
    Beiträge:
    599
    Zustimmungen:
    0
    Ort:
    Mannheim
    warum nicht einfach bei sed statt / ein anderes zeichen, wie z.b. + oder # benutzen ?

    auf bald
    oenone
     
Thema:

sed Text in Datei ersetzen Problem

Die Seite wird geladen...

sed Text in Datei ersetzen Problem - Ähnliche Themen

  1. mehrere Textdateien gleichzeitig öffnen.

    mehrere Textdateien gleichzeitig öffnen.: Hallo Es geht um das editieren mehrerer Textdateien gleichzeitig. Diese kann man natürlich in einem Texteditor öffnen. Mein Problem ist, dass die...
  2. Zeilen aus Textdatei löschen die $Var1 enthalten und nicht $Var2

    Zeilen aus Textdatei löschen die $Var1 enthalten und nicht $Var2: Ich habe folgendes Problem: Ich will aus einem Textfile Zeilen entfernen: - die $Variable1 enthalten - aber nicht wenn sie $Variable2 (oder...
  3. Textdatei filtern und löschen mit grep /sed

    Textdatei filtern und löschen mit grep /sed: Guten morgen liebe Forenmitglieder, da ich etliche Jahre in Sachen Linux pausiert habe und nun wegen beruflichem Wechsel wieder dort einsteige...
  4. 2 Spalten in EINER Textdatei GETRENNT addieren

    2 Spalten in EINER Textdatei GETRENNT addieren: Hey, bin ein ziemlicher Neuling in Sachen programmieren. Nun steh ich vor dem Problem, dass ich 2 Zahlenspalten inner Textdatei (vim) getrennt...
  5. Timestamp an Inhalt einer Textdatei anfügen

    Timestamp an Inhalt einer Textdatei anfügen: Hallo, ich als neuer, unerfahrener Nutzer von Linux und der bash hätte folgende Frage. Und zwar würde ich gerne mit einem command den Zeitstempel...
  1. Diese Seite verwendet Cookies um Inhalte zu personalisieren. Außerdem werden auch Cookies von Diensten Dritter gesetzt. Mit dem weiteren Aufenthalt akzeptierst du diesen Einsatz von Cookies.
    Information ausblenden