In einem Textfile eine Zeile einfügen

17/05/2012 - 18:33 von Helmut Schneider | Report spam
Hi,

ich möchte in einem Textfile eine Zeile einfügen. Nachdem ich alles
mögliche ausprobiert hatte, dachte ich, die Lösung gefunden zu haben:

helmut@mail:~$ echo "Zeile ganz oben" | sed "1s#.*#Zeile *ganz*
oben\\`echo -e ''`&#"
Zeile *ganz* oben
Zeile ganz oben
helmut@mail:~$

Das funktionierte auch überall - bis auf die &%$$&§% dash (mal wieder):

helmut@mail:~$ sh
$ echo "Zeile ganz oben" | sed "1s#.*#Zeile *ganz* oben\\`echo -e
''`&#"
sed: -e expression #1, char 27: unterminated `s' command
$

Bekomme ich das irgendwie portabel hin? Ich muss zwingend mit Variablen
arbeiten können, etwa so:

helmut@mail:~$ text1="Zeile ganz oben"; text2="Text *ganz* oben"; echo
${text1} | sed "1s#.*#${text2}\\`echo -e ''`&#"
Zeile *ganz* oben
Zeile ganz oben
helmut@mail:~$


Danke und Gruß, Helmut
 

Lesen sie die antworten

#1 Juergen P. Meier
18/05/2012 - 06:42 | Warnen spam
Helmut Schneider :
ich möchte in einem Textfile eine Zeile einfügen. Nachdem ich alles
mögliche ausprobiert hatte, dachte ich, die Lösung gefunden zu haben:



Nicht sed, sondern ex ist dein Freund.

Konzeptionell schon (Das s in sed steht fuer *Stream*)

Danke und Gruß, Helmut



Probier es einfach mal mit ex.

Ähnliche fragen