sed

Post Reply
Message
Author
proximus

sed

#1 Post by proximus »

allo, ich hab folgendes problem:
ich mag ein shell script schreiben das 2 strings einliest (is ja einfach ;))
aber die beiden strings sollst in der /etc/xxx.conf schreiben und zwar genau in zeile 1043.
hab ewig gesucht bis ich "sed" gefunden habe. hab mal ein "kleines" tutorial gesehn das ca. "nur" 450 seiten hatte :/
haette vielleicht jemand mal eben genau diesen befehl? mag ja nicht sed "studieren".
danke im vorraus

proxi

scripter

Re: sed

#2 Post by scripter »

Schreib lieber, was Du wirklich willst, in Zeile nnnn kann womöglich mal etwas anderes stehen, vielleicht der Eintrag von Deinem letzten Scriptaufruf ...

Jochen

Re: sed

#3 Post by Jochen »

scripter hat Recht, schreib mal, was Dein eigentliches Ziel ist. Ggf. ist sed nicht das beste Tool für den Zweck. Aber nur so als Beispiel:
<blockquote><pre><font size="1" face="">code:</font><hr><font face="Courier New" size="2">sed "1043i \<!--no-->\<!--no-->
$VAR1 $VAR2" /etc/xxx.conf</font><hr></pre></blockquote>
Problem bei der Sache:
<li>Was passiert, wenn sich die /etc/xxx.conf mal verändert, d.h. Zeilen am Anfang hinzukommen oder verschwinden? Absolute Adressierung per Zeilennummer ist nicht gerade flexibel.
<li>Der Inhalt der beiden Variablen <i>könnte</i> Schwierigkeiten bereiten (ist aber eher unwahrscheinlich, wenn Du die beiden Variablen per Skript (read?) einliest).
<li>sed macht kein in-place-Editing, sondern gibt Dir lediglich die veränderte Fassung auf die Standard-Ausgabe aus. Du musst diese also erst mal in eine andere Datei umlenken und dann diese Temporärdatei umbenennen in /etc/xxx.conf, wenn Du diese ersetzen willst.

Jochen

Post Reply