【发布时间】:2010-12-13 07:31:58
【问题描述】:
我正在尝试在 solaris 上执行下面的 awk 脚本,但它给出了类似的错误
awk: syntax error near line 3
awk: bailing out near line 3
哪里有错误,你能帮我解决吗?
输入文件:
$ cat details.txt
Manager1|sw1
Manager3|sw5
Manager1|sw4
Manager2|sw9
Manager2|sw12
Manager1|sw2
Manager1|sw0
需要输出: 将相似的(基于 $1)字段($2)分组在一起,即将特定共同经理下的工程师分组。即所需的输出:
Manager1|sw1,sw4,sw2,sw0
Manager2|sw9,sw12
Manager3|sw5
awk 解决方案:
$ awk '
BEGIN {FS=OFS="|"}
!A[$1] {A[$1] = $0; next}
{A[$1] = A[$1] "," $2}
END {for(i in A) {print A[i]}
}' details.txt
【问题讨论】:
-
使用
标签或 <pre> 包围您的代码。 <pre> 有时更容易。</pre></pre> -
什么版本的awk?在 gnu awk 3.1.5 上一切正常