With Perl you can check if an array contains a value
$ perl -e '@foo=(444,555,666); print 555 ~~ @foo ? "T" : "F"'
T
However with awk, this similar command is checking the array indexes rather than values
$ awk 'BEGIN {split("444 555 666", foo); print 555 in foo ? "T" : "F"}'
F
How can I check if an array contains a particular value with awk?
awk 'BEGIN { split("444 555 666", foo); for(i=1; i<=length(foo); i++) bar[foo[i]]; print 555 in bar ? "T" : "F" }'for( i in foo ) bar[foo[i]]instead?awk 'BEGIN { split("444 555 666", foo); for(i in foo) bar[foo[i]]; print 555 in bar ? "T" : "F" }'.