PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Zeile in Datei schreiben



hal-9000
29-01-2005, 14:05
Hallo,
ich bin gerade dabei ein kleines Bashscript zu erstelln.
Ich möchte in einer Datei eine neu Zeile erstellen.
Der Dateiinhalt soll aber nicht überschrieben werden, sondern eine Zeile weiter nach unten gerückt werden.
Also quasi alles eine Zeile weiter und die erste Zeile die dann leer ist mit neuem Inhalt füttern.
Geht sowas? Wenn ja wie?

danke im Voraus Thorsten

Joghurt
29-01-2005, 14:53
Das geht mit sed.

sed -e '42i\Hallo, Welt' -i Dateifügt in Zeile 42 Hallo, Welt ein.

Sollte dein sed kein in-place-edit kennen, musst du mit temporären Dateien arbeiten
sed -e '...'Datei>Datei.new&&rm Datei&&mv Datei.new Datei

hal-9000
29-01-2005, 15:02
hat funktioniert

Hans-Georg Normann
29-01-2005, 18:11
Ähh, wie denn? Methode1 oder 2?

Hans

Joghurt
29-01-2005, 19:55
Methode 2 geht immer, Methode 1 nur bei neueren GNU seds. SUNs sed kennt -i glaube ich nicht.