我有下面的场景,我们有4个记录和使用awk
我得到正确的数据,但我无法理解awk
如何在这里工作,每个a的含义是什么[] 这里。有人能简单地在awk
命令下面解释一下吗?特别是“如果”部分。使用AWK汇总和解除归一化数据
$ cat temp.dat
abc|v1
abc|v2
def|v1
def|v3
$ awk -F"|" '{if(a[$1]){a[$1]=a[$1]","$2} else { a[$1]=$2}} END {for (i in a) {print i"|"a[i]}}' temp.dat
def|v1,v3
abc|v1,v2
主要就意味着你复制的人谁不明白awk的语法或语义否则他们永远不会写了一个车,脆弱,冗余代码。阅读Arnold Robbins编写的“有效的Awk编程”第4版。 –