这个awk语句是什么意思? awk 'BEGIN{a="b";arr[0]="b";arr["b"]="c";print (a in arr);}'

如题所述

echo | awk 'BEGIN{a="b";arr[0]="b";arr["b"]="c";print (a in arr);}'

这个结果就固定是 1 。awk的BEGIN块在从外部读入数据之前就得到执行,这里只有BEGIN块,因此执行结果跟外部输入无关。

首先,初始化,a="b";arr[0]="b";arr["b"]="c"

其次,判断变量a的值是否存在于数组arr的下标中,存在即打印出1,不存在打印0。

数组arr的下标只有0和"b"两个值,变量a的值为"b",因此,存在,打印出1。

温馨提示:答案为网友推荐,仅供参考
相似回答