我正在尝试连接基于行中第一个值的行.我的文件看起来像这样:
结构是:ID,KEY,VALUE
1 1 Joe 1 2 Smith 1 3 30 2 2 Doe 2 1 John 2 3 20
KEY代表ID的某种属性,在这种情况下,KEY’1’是名字,’2’是姓,’3’是年龄.
输出应如下所示:
1 Joe Smith 30 2 John Doe 20
我知道这可以通过相当简单的awk脚本来完成,但是我无法在SO或Google上找到它.
解决方法
这个awk命令应该工作:
awk '$2==1{fn=$3} $2==2{ln=$3} $2==3{age=$3} NR>1 && NR%3==0 {print $1,fn,ln,age}' file