Hat awk eine OR
Anweisung d.h den folgenden Ausschnitt gegeben:awk OR-Anweisung
awk '{if ($2=="abc") print "blah"}'
Ist es möglich, eine OR
Aussage so, dass, wenn $2==abc OR def -> print
hinzufügen?
Hat awk eine OR
Anweisung d.h den folgenden Ausschnitt gegeben:awk OR-Anweisung
awk '{if ($2=="abc") print "blah"}'
Ist es möglich, eine OR
Aussage so, dass, wenn $2==abc OR def -> print
hinzufügen?
Ja. Es ist logisch ODER ||
die Sie verwenden können:
awk '{if ($2=="abc" || $2=="def") print "blah" }'
awk '{if ($2=="abc" || $2=="def") print "blah"}'
Sie würden diesen Code in awk nicht schreiben:
awk '$2=="abc" {print "blah"}'
und zu:
awk '{if ($2=="abc") print "blah"}'
Sie diese stattdessen schreiben würde Fügen Sie je nach dem, was Sie letztendlich versuchen, ein "oder" hinzu:
awk '$2~/^(abc|def)$/ {print "blah"}'
awk '$2=="abc" || $2=="def" {print "blah"}'
awk '
BEGIN{ split("abc def",tmp); for (i in tmp) targets[tmp[i]] }
$2 in targets {print "blah"}
'
Das letzte wäre am besten geeignet, wenn Sie mehrere Zeichenfolgen haben, die Sie übereinstimmen möchten.
duh, danke :) – Numpty