Re: Kleine SED Frage
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:
awk '{print $0}/AB HIER/{print "$x";}' <x >y
wird leider nur $x statt der Inhalt eingefügt. Habe das Ganze mal mit anderen Varianten ausprobiert: '$x' "$x" usw. aber leider kein Erfolg. Was müsste ich denn hierfür angeben ?
ganz einfach:
awk 'BEGIN{x="Hier die neue Zeile"}{print $0}/c/{print x}' < t a b c Hier die neue Zeile d e f g
Hm, es ist mir ja schon fast peinlich wieder zu fragen, aber die Variable wird dem Skript beim Start übergeben. D.h. der Inhalt steht in $1. Habe mal probiert: x=$1 - macht das Kommando aber leider nicht. Wie könnte das denn funktionieren ? -- Regards, Jens Strohschnitter ------------------------------------- *!!!LINUX LINUX LINUX LINUX LINUX!!!* * http://www.jens-strohschnitter.de * ------------------------------------- Set the controls for the heart of the sun -------------------------------------
Hi On Wednesday 25 August 2004 14:09, Jens Strohschnitter wrote:
Hm, es ist mir ja schon fast peinlich wieder zu fragen, aber die Variable wird dem Skript beim Start übergeben. D.h. der Inhalt steht in $1. Habe mal probiert: x=$1 - macht das Kommando aber leider nicht. Wie könnte das denn funktionieren ? Habe ich ja schon in einer anderen mail geschrieben. Ich habe aber noch einen allgemeinen Rat. Es scheinst fast so als ob du hier einen mehr oder weniger unbekömmlichen Cocktail verschiedenster Skript-Sprachen anzurührst. Es ist weder der Übersicht noch der Laufgeschwindigkeit dienlich bashs, awks und seds in einander aufzurufen. Ich kenne das Szenario nicht genau, aber möglicherweise ist gar kein bash-Skript nötig, das awk aufruft. Eventuell kann man gleich ein awk- oder sed-Skript nehmen. Oder man löst gleich das Einfügeproblem innerhalb der bash in einer while-Schleife unter Zuhilfenahme von read. Nur so als Denkanstoß gemeint.
mfg Axel
participants (2)
-
Axel Heinrici
-
Jens Strohschnitter