Ups, zu früh gefreut. Wenn die Zeile, die eingefügt werden soll in einer Variablen steht, also z.B. x="Hier die neue Zeile" und ich den Befehl eingebe: Alles in den ' (Hochkommas) wird so als Programm an awk übergeben.
awk '{print $0}/AB HIER/{print "$x";}' <x >y In diesem Fall führt awk {print $0}/AB HIER/{print "$x";} aus.
Man kann das als shell-Skript als x=Einfügetext awk '{print $0}/AB HIER/{print "'$x'";}' schreiben. Für das $x sind die '' dann aufgehoben, die Anführungszeichen werden so wie sie sind an awk übergeben, weil sie ihrerseits in Hochkommas stehen und awk bekommt ein {print $0}/AB HIER/{print "Einfügetext";} übergeben.
Aber schön ist das nicht. :-) Ich habe es selber noch nicht getestet, aber es gibt bei awk die Option -v. Das ist sicherlich der sauberere Weg shell-Variablen innerhalb von awk Programmen zu benutzen.
Hi, das funktioniert leider nur solange, wie der Variableninhalt keine Leer- zeichen enthält. Sobalt der Inhalt x="Einfüge Text" lautet, bricht awk leider ab. Aber nach bisserl rumprobiererei gings dann mit: x="whitelist_from *@nospammers.org" awk '{print $0}/whitelist-users/{print "'"$x"'";}' Lustige Quoterei :-) -- Regards, Jens Strohschnitter ------------------------------------- *!!!LINUX LINUX LINUX LINUX LINUX!!!* * http://www.jens-strohschnitter.de * ------------------------------------- Set the controls for the heart of the sun -------------------------------------