在 awk 中显示关联数组

在 awk 中显示关联数组

当我不知道索引时,如何显示关联数组?我的脚本:

{
tab[$1]=tab[$1]+1
}
END{
print tab[*]#display array -> it doesn't work
}

答案1

让我们考虑这个测试文件:

$ cat file
a
b
b
c
c
c

为了在 awk 中获取关联数组的键,我们使用for以下形式的循环for (key in arrayname) action。例如:

$ awk '{tab[$1]=tab[$1]+1} END{for (key in tab)print key, tab[key]}' file
a 1
b 2
c 3

请注意,在 POSIX awk 中,此循环不能保证以任何特定顺序返回关联数组的键。

相关内容