LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 863|回复: 1

请教个awk问题

[复制链接]
发表于 2011-1-22 15:02:35 | 显示全部楼层 |阅读模式
cat  transform_fromtype_appid_combined_sorted

1293811200 12 1 3435
1293811200 12 2 2020
1293811200 12 3 535
1293811200 3 1 2531
1293811200 3 2 1016
1293811200 3 3 587
1293811200 6 1 694113
1293811200 6 2 109750
1293811200 6 3 149252
1293814800 12 1 1768

cat visit_fromtype_appid_combined_sorted
1293811200 0 2 1 1 1 1 0 1 0 1 1
1293811200 12 1 327810 291251 273652 435386 37743 796961 22279348 796961 397642
1293811200 12 2 88136 54584 85546 189792 14602 313157 3897267 313157 175190
1293811200 12 3 105907 88775 102178 150388 13845 326259 5043143 326259 136543
1293811200 3 1 18957 11934 18312 21110 7663 65352 2560920 65352 13447
1293811200 3 2 15207 13658 15161 20020 4576 40335 944029 40335 15444
1293811200 3 3 13792 11396 13592 18079 2634 31008 631918 31008 15445
1293811200 6 1 260838 163688 165529 296216 164887 2321450 63406431 2321450 131324
1293811200 6 2 144264 108565 141718 169830 64151 734831 20736601 734831 105679
1293811200 6 3 98051 64716 95518 146502 34355 610347 16663610 610347 112147

两个文件的前三列都是索引,我现在想要做的事情是:每读入visit_fromtype_appid_combined_sorted中的一行,看看transform_fromtype_appid_combined_sorted中没有相同的index,如果有,添加到visit_fromtype_appid_combined_sorted中的最后一列,如果没有就把0添加到最后一列。

我现在的awk语句是:
awk 'NR == FNR {$a[$1, $2, $3] = $4} NR > FNR { print $0, a[$1, $2, $3]}' transform_fromtype_appid_combined visit_fromtype_appid_combined_sorted > fromtype_ans

但是,后面print $0, a[$1, $2, $3]中a[$1, $2, $3]总是空字符
发表于 2011-1-22 22:44:13 | 显示全部楼层
$a[$1, $2, $3] = $4应该是a[$1, $2, $3] = $4
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表