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. 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...
     
  3. 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"
    
     
  4. 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...
     
  5. 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"
     
  6. 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. 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...
  2. 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...
  3. 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...
  4. Textdatei zeilenweise in durchnummerierte Variablen schreiben

    Textdatei zeilenweise in durchnummerierte Variablen schreiben: Hi Leute, ich versuche folgendes Problem zu lösen. Ich möchte eine Textdatei einlesen und den Inhalt jeder Zeile in immer eine neue Variable...
  5. SSH Login nur mit einer bestimmten IP die in einer Textdatei gespeichert wird

    SSH Login nur mit einer bestimmten IP die in einer Textdatei gespeichert wird: Hallo Ich bin andauernd Opfer einer Brute Force Attacke. Die IPs die fehlerhafte Logins produzieren werden nach dem 3ten Versuch gesperrt. Aber...