Hallo,
ich habe ein kleines Perlscript und dort folgende Zeile und Wheezy:
values .= @array[0].":".int(`smartctl -A @array[1] | awk -v pattern=$smartname '$0 ~ pattern {print \$4}'`);
Hier geht es um die Variable $smartname. Egal wie ich es drehe oder schreibe, ich finde keine Lösung, dass die Variable übernommen wird. Schreibe ich den Text. z.B. /text/, dann klappt es. Idee?
danke
[gelöst] Perlscript - Variable in awk
[gelöst] Perlscript - Variable in awk
Zuletzt geändert von sunghost am 12.10.2013 23:14:06, insgesamt 2-mal geändert.
Re: Perscript - Variable in awk
Guck' mal, ob das Absicht ist, dass $0 nicht escapt ist, aber \$4 schon. Das ist in derselben "Quoting-Tiefe" und aus awk-Sicht gleichartig (nicht) zu escapen, damit's funktioniert. $smartname scheint ja 'ne Perl-Variable zu sein, dann wuerde $0 auch expandiert von Perl expandiert werden anstatt vom awk.
Gruss Cae
Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
Re: Perscript - Variable in awk
Hey Cae du bist der Beste .
Logisch - das war der Fehler, auch wenn ich das mit der Quoting-Tiefe und dem expandieren nicht verstehe Jedenfalls hast du mir in ein paar Minuten geholfen, was ich gestern Abend in 2h nicht gefunden habe ,).
Nice WE
sunny
Logisch - das war der Fehler, auch wenn ich das mit der Quoting-Tiefe und dem expandieren nicht verstehe Jedenfalls hast du mir in ein paar Minuten geholfen, was ich gestern Abend in 2h nicht gefunden habe ,).
Nice WE
sunny
Re: Perscript - Variable in awk
Expandieren meint: $foo wird zu bar ersetzt. Mit "Quoting-Tiefe" meine ich die Verschachtelung der (unterschiedlichen) Anfuehrungszeichen:sunghost hat geschrieben:auch wenn ich das mit der Quoting-Tiefe und dem expandieren nicht verstehe
Code: Alles auswählen
+-----------+
|+----------|-+
|| +---|-|-+
vv v | | |
f00="$(bar 'baz "foo bar"' boom)"; | | |
^ ^ ^ | | |
| | +--- 3. Tiefe ------+ | |
| +-------- 2. Tiefe --------+ |
+--------------- 1. Tiefe ----------+
Gruss Cae
If universal surveillance were the answer, lots of us would have moved to the former East Germany. If surveillance cameras were the answer, camera-happy London, with something like 500,000 of them at a cost of $700 million, would be the safest city on the planet.
—Bruce Schneier
Re: [gelöst] Perlscript - Variable in awk
Ach so meinst du das . Vielen Dank für die Erklärung.
Gruß
sunny
Gruß
sunny