Im nativen sed Zeile 1 einfügen

na-cl

Member
Erstmal ein Hallo ans Forum :)

Ja wie der Titel es schon sagt habe ich ein Problem mit sed.
Ich möchte von einem Shellscrpt aus, in einer Textdatei etwas als erste Zeile
einfügen. Mit gsed ist das überhaupt kein Problem aber ich fände es besser,
wenn ich für mein Script keinen Port installieren muss.
Natürlich habe ich danach gegooglet und auch jede Menge gefunden aber
alles nur gsed fähig.
Wisst ihr vielleicht einen String?

Grüsse na-cl
 
Herzlich willkommen im Forum na-cl.

Der folgende Befehl sollte Dir weiterhelfen:
Code:
sed '1i\\
ich steh wegen "i" (fuer insert) vor Zeile eins,\\
wobei ich in der Shell in einer neuen Zeile stehen _muss_.\\
Bis auf die letzte Zeile wird jede Zeile mit _einem_ \\ beendet.' textdatei > neuetextdatei
Auf Grund der Shell mußt Du den "\" (Backslash) jedoch noch einmal escapen, damit er auch bei sed ankommt; oder einer ist für sed und der andere für die Shell. Bin ich mir nicht ganz sicher, aber zumindest funktioniert es auf diese Weise in der csh. ;)

Hab jetzt nicht ganz verstanden, in welcher Datei Du jetzt was einfügen wolltest, aber ich vermute mal das Einfügen mit sed wird Deine Hürde gewesen sein. Tippe daher, daß der Rest reine Formsache für Dich ist. :) (sonst einfach noch mal fragen)

Wenn es nicht sed sein muß ginge es wie folgt auch mit cat:
Code:
echo "ich steh in der ersten Zeile" | cat - textdatei > neuetextdatei
In beiden Fällen ist es jedoch praktisch nicht möglich in die gleiche Datei zu schreiben aus der gelesen wird. Beide Werkzeuge liefern Dir hier zwei Extrema. sed leert Dir Deine Quelldatei und cat ertränkt Deine Festplatte. ;)

Viel Erfolg bei Deinem Vorhaben wünscht
Wasp
 
Vielen Dank

Das ist es!:D

Ich könnte schreien weil ich nicht selbst auf die cut-Methode
gekommen bin. :ugly:

Gruss na-cl
 
Zurück
Oben