使用Perl,您可以检查一个数组是否包含某个值。
然而,使用awk时,这个类似的命令是检查数组索引而不是值。
我该如何使用awk检查数组是否包含特定值?
$ perl -e '@foo=(444,555,666); print 555 ~~ @foo ? "T" : "F"'
T
然而,使用awk时,这个类似的命令是检查数组索引而不是值。
$ awk 'BEGIN {split("444 555 666", foo); print 555 in foo ? "T" : "F"}'
F
我该如何使用awk检查数组是否包含特定值?
awk 'BEGIN { split("444 555 666", foo); for(i=1; i<=length(foo); i++) bar[foo[i]]; print 555 in bar ? "T" : "F" }'
。 - Thorfor( i in foo ) bar[foo[i]]
呢? - n0741337awk 'BEGIN { split("444 555 666", foo); for(i in foo) bar[foo[i]]; print 555 in bar ? "T" : "F" }'
。 - Thor