gpt4 book ai didi

awk - 为什么 awk "not in"数组像 awk "in"数组一样工作?

转载 作者:行者123 更新时间:2023-12-03 11:07:58 27 4
gpt4 key购买 nike

这是一个 awk 脚本,它尝试根据第一列设置两个文件的差异:

BEGIN{
OFS=FS="\t"
file = ARGV[1]
while (getline < file)
Contained[$1] = $1
delete ARGV[1]
}
$1 not in Contained{
print $0
}

这是 TestFileA:
cat
dog
frog

这是测试文件B:
ee
cat
dog
frog

但是,当我运行以下命令时:
gawk -f Diff.awk TestFileA TestFileB

我得到的输出就像脚本包含“in”一样:
cat
dog
frog

虽然我不确定“not in”是否符合我的意图,但我很好奇为什么它的行为与我写“in”时的行为完全相同。

最佳答案

我找不到任何 doc关于 element not in array .

试试 !(element in array) .

我猜:awknot作为一个未初始化的变量,所以 not被评估为空字符串。

$1 not == $1 "" == $1

关于awk - 为什么 awk "not in"数组像 awk "in"数组一样工作?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10923812/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com