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

awk 处理文本问题

  •  
  •   liemehoc · 2021-02-09 12:55:45 +08:00 · 752 次点击
    这是一个创建于 1172 天前的主题,其中的信息可能已经有所发展或是发生改变。
    需要处理的文本如下

    a:1,2,3,4,5
    b:6,7
    c:8
    d:9,10

    期望的输出为

    a,1
    a,2
    a,3
    a,4
    a,5
    b,6
    b,7
    c,8
    d,9
    d,10

    第一反应是用 awk,想问一下有更简单的处理方法吗
    3 条回复    2021-02-09 14:38:09 +08:00
    klakekent
        1
    klakekent  
       2021-02-09 13:20:47 +08:00
    awk + split
    rrfeng
        2
    rrfeng  
       2021-02-09 13:39:57 +08:00   ❤️ 4
    awk -F'[:,]' '{for(i=2;i<=NF;i++)print $1","$i}'

    awk 确实是最简单的。

    sed 也可以但是写出来大部分人看不懂。

    python 类的就不用说了,随便写
    liemehoc
        3
    liemehoc  
    OP
       2021-02-09 14:38:09 +08:00
    @rrfeng 学习了,awk 真的方便
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3011 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 11:13 · PVG 19:13 · LAX 04:13 · JFK 07:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.