Anzeige:
Ergebnis 1 bis 6 von 6

Thema: zeile in einer datei ersezten

  1. #1
    Registrierter Benutzer
    Registriert seit
    08.01.2001
    Beiträge
    242

    Question zeile in einer datei ersezten

    hi,

    ich mal wieder

    wie ersetze ich denn in einer datei namens data eine zeile die wie folgt aussieht:

    =gardine.wg.de:192.168.100.15:3600
    gegen folgende:
    =gardine.wg.de:192.168.100.19:3600

    wobei der wert 192.168.100.15 nicht fest steht, ich also ihn im vorfeld
    nicht kenne. gut ich könnte natürlich die zeile erst parsen und mir
    die aktuelle ip holen und diese ersetzen.....hmmmm


    hat jemand eine idee?



    thx
    der tom
    Geändert von meinereinerseiner (20-02-2005 um 21:46 Uhr)

  2. #2
    Registrierter Benutzer
    Registriert seit
    08.01.2001
    Beiträge
    242
    also mit:

    Code:
    sed "s/$(grep gardine data | awk -F: '{print $2}')/192.168.100.19/g" -i data
    gehts - wenn auch nicht elegant, aber es geht.
    aber vielleicht hat ja jemand eine bessere idee.

    der tom
    Geändert von meinereinerseiner (20-02-2005 um 22:04 Uhr)

  3. #3
    Registrierter Benutzer
    Registriert seit
    25.10.2004
    Beiträge
    819
    Warum so umständlich?
    Code:
    sed -e 's/:.*:/:192.168.100.19:/' -i Datei
    Falls du ein altes sed hast
    Code:
    sed -e '...' Datei > Datei.new && mv Datei.new Datei

  4. #4
    Registrierter Benutzer
    Registriert seit
    08.01.2001
    Beiträge
    242
    Zitat Zitat von Joghurt
    Warum so umständlich?
    Code:
    sed -e 's/:.*:/:192.168.100.19:/' -i Datei
    Falls du ein altes sed hast
    Code:
    sed -e '...' Datei > Datei.new && mv Datei.new Datei
    upps, ja, hab ich doch vergessen zu erwähnen das es bei der datei um ein
    zonenfile von tinydns geht, da geht deine variante so nicht, da ich dann
    ca. 40 einträge mit der gleichen ip habe.


    der tom

  5. #5
    Registrierter Benutzer
    Registriert seit
    24.02.2005
    Beiträge
    17

    zeile in einer datei ersezten

    geht auch so:

    perl -pi.bak -e 's/OLDSTRING/NEWSTRING/g' Datei


    Gruss

    Johny_Walker

  6. #6
    Registrierter Benutzer
    Registriert seit
    19.02.2005
    Beiträge
    32
    Code:
    sed 's/\(^=gardine.wg.de:\).*\(:.*$\)/\1192.168.100.19\2/g' -i data

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •