awk и массивы

skelet
Дата: 29.03.2010 17:23:57
собственно есть awk массив

x["aaa"]=111;
x["bbb"]=222;
x["ccc"]=333;

хочется сделать проверку в смысле
if (val in ("aaa","bbb","ccc") )

это возможно?
andrey_anonymous
Дата: 29.03.2010 18:44:13
$ nawk 'BEGIN {x["aaa"]=111;x["bbb"]=222;x["ccc"]=333} {if ($1 in x) print x[$1]}'
aaa
111
bbb
222
ccc
333
ddd
^C
$
skelet
Дата: 29.03.2010 19:51:10
andrey_anonymous,

это то понятно
andrey_anonymous
Дата: 29.03.2010 20:30:22
skelet
это то понятно

Тогда не понял вопрос.
skelet
Дата: 30.03.2010 00:25:20
andrey_anonymous,

хотя вру - норм, правда в awkе такое не проходит почему-то...
andrey_anonymous
Дата: 30.03.2010 13:20:38
skelet
в awkе такое не проходит почему-то...

gawk?
skelet
Дата: 30.03.2010 13:26:16
andrey_anonymous,

ну там странно... на соляре выдаёт ошибку, а на ред хате норм...
andrey_anonymous
Дата: 30.03.2010 17:01:06
skelet
ну там странно... на соляре выдаёт ошибку, а на ред хате норм...

На соляре - nawk, мой тест - как раз с солярки и есть.
skelet
Дата: 30.03.2010 18:19:16
andrey_anonymous,

то то и обидно, что получается нельзя сделать общий скрипт...
andrey_anonymous
Дата: 30.03.2010 18:55:58
skelet
нельзя сделать общий скрипт...

Можно на солярку поставить тот же gawk.
Можно в скрипте определять ОС и звать правильный интерпретатор.
Можно сделать скрипт, который при первом запуске будет просить вписать в себя правильный awk.