awk合并问题

输入如下120.192.198.48/default.php279419120.192.198.48/in/missing.php15557174120.192.198.... 输入如下
120.192.198.48 /default.php 2794 1 9
120.192.198.48 /in/missing.php 15557 1 74
120.192.198.48 /in/missing.php 15557 2
120.196.118.116 /default.php 952 1 2
如何将前3列相同的行进行第4列合并,同时保留第5列的值
结果为:
120.192.198.48 /default.php 2794 1 9
120.192.198.48 /in/missing.php 15557 1,2 74
120.196.118.116 /default.php 952 1 2
展开
 我来答
百度网友5311d79
推荐于2016-07-19 · TA获得超过1.9万个赞
知道大有可为答主
回答量:6356
采纳率:71%
帮助的人:3244万
展开全部
awk '{
    c=$1"\t"$2"\t"$3;
    if(c in a)
        b[c]=a[c]","$4"\t"w[c];
    else {
        a[c]=$4;
        b[c]=$4"\t"$5;
        w[c]=$5;
    }
}
END{
    for(k in a)
        print k"\t"b[k];
}' file.txt | sort


使用awk数组来完成。

实测结果如下:

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式