首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
宝塔
V2EX  ›  问与答

请教一个文本处理的方法!

  •  
  •   coolloves · 2016-04-13 08:01:39 +08:00 · 1529 次点击
    这是一个创建于 1317 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有些文本内容如下: a1 b1 a1 c1 a1 d1 ... a2 b2 a2 c2 a2 d2 ......

    每天大约有几百万条这种格式的日志,目前想处理下,把以下两条第二列的内容合并, a1 b1 a1 c1

    做成以下格式的 a1 b1 c1 a1 d1 ...... a2 b2 c2 a2 d2 ......

    有什么可行的办法呢.多谢大家

    第 1 条附言  ·  2016-04-13 09:08:54 +08:00
    真不好意思,日志的格式换行没有打出来日志的格式如下:
    20160412xxxx id1 内容 a \n
    20160412xxxx id1 内容 b \n
    20160412xxxx id1 内容 c \n
    20160412xxxx id1 内容 d \n
    ........
    20160412xxxx id2 内容 a1 \n
    20160412xxxx id2 内容 b1 \n
    20160412xxxx id2 内容 c1 \n
    20160412xxxx id2 内容 d1 \n
    ........
    20160412xxxx id3 内容 a2 \n
    20160412xxxx id3 内容 b2 \n
    20160412xxxx id3 内容 c2 \n
    20160412xxxx id3 内容 d2 \n
    ........

    目前想实现:
    20160412xxxx id1 内容 a + 内容 b \n
    20160412xxxx id1 内容 c \n
    20160412xxxx id1 内容 d \n
    ........
    20160412xxxx id2 内容 a1 +内容 b1 \n
    20160412xxxx id2 内容 c1 \n
    20160412xxxx id2 内容 d1 \n
    ........
    20160412xxxx id3 内容 a2 +内容 b2 \n
    20160412xxxx id3 内容 c2 \n
    20160412xxxx id3 内容 d2 \n
    ........


    其中内容 ax bx 都是非常固定的格式.
    6 回复  |  直到 2016-04-13 11:30:51 +08:00
        1
    coolloves   2016-04-13 08:02:04 +08:00
    换行怎么没打出来......
        2
    Devin   2016-04-13 08:45:39 +08:00 via iPhone
    用 awk 应该可以
    楼主 append 把问题描述清楚吧
        3
    coolloves   2016-04-13 09:11:01 +08:00
    @Devin awk 我一般处理单行居多,如何合并特定的两行,我不太会
    我目前是用 rsyslog 来做日志格式处理的,但是也是基于单行
        4
    clino   2016-04-13 09:15:19 +08:00
    写几行 python 吧
        5
    irenicus   2016-04-13 09:32:00 +08:00 via Android
    python 或者 perl
        6
    wvuu   2016-04-13 11:30:51 +08:00
    awk '{if($2 != a){b=$3" "$4;c=1}else{print(c != 0)?$1" "$2" "b" "$3" "$4:$0;c=0}a=$2}'

    这个命令只能按照你目前的格式处理,如果你的日志根这个格式不一样,结果会有问题。
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   3426 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 24ms · UTC 04:16 · PVG 12:16 · LAX 20:16 · JFK 23:16
    ♥ Do have faith in what you're doing.