【发布时间】:2013-12-09 16:39:08
【问题描述】:
我是 awk 的新手,正在尝试编写可以合并 2 个文件的代码..
文件1
session=123;1,code=01,name=om
session=345;3,code=04,name=ra
文件2
time=44,minute=22,sec=01,session=123;1,creation=89
time=34,minute=12,sec=023,session=523;1,creation=80
输出应该是
time=44,minute=22,sec=01,session=123;1,creation=89,code=01,name=om
time=34,minute=12,sec=023,session=523;1,creation=80,,
我写过类似的东西:
BEGIN { FS = OFS = "," }
FNR == NR {
a[$2] = substr($0,index($0,$2));
next
}
{
if($4 in a)print $0","a[$2];
else print $0",,";
}
但这不会产生正确的输出。
你能帮我在哪里弄错了吗?
【问题讨论】:
-
为什么
file1的其余部分没有包含在预期输出中?file1的同一行上真的应该有多个session值吗? -
因为 file2 是基本文件.. 如果 file1 中有额外内容,则可以忽略.. 但我需要 file2 中的所有内容。
-
我的问题是由于您编辑之前
file1的格式不正确。 -
啊哈.. 是的,我也编辑过..谢谢