/Type/ { type=$2; types[$2] = 1 }
!/Type/ { data[type,$1] = $2; keys[$1] = 1 }
END {
m = asorti(types)
value = "Type"
for (i = 1; i <= m; i++) {
value = value "," types[i];
}
print value;
n = asorti(keys)
for (i = 1; i <= n; i++) {
value=keys[i]
for (k = 1; k <= m; k++) {
value = value "," data[types[k],keys[i]]
}
print value;
}
}
这是一些相当棘手的 GNU awk。数组中的数组
gawk
需要GNU awk ( )我假设每个文件都有 2 列,所以它不是完全通用的。
不依赖 GNU awk 的版本(用 mawk 测试)
即使没有真正的多维数组,这也不是特别难做到:
但是,您仍然需要 GNU
awk
来执行排序功能。