【问题标题】:Inserting a linebreak after 5 comma separated values在 5 个逗号分隔值后插入换行符
【发布时间】:2015-01-19 07:35:42
【问题描述】:

我正在尝试隐藏这样的列表:

name,name,name,name,name,name,name,name,name,name,name,name

name,name,name,name,name
name,name,name,name,name
name,name

我将如何使用 bash 行来做到这一点?

【问题讨论】:

    标签: linux bash csv


    【解决方案1】:

    通过 sed,

    $ echo 'name,name,name,name,name,name,name,name,name,name,name,name' | sed 's/\([^,]*\(,[^,]*\)\{4\}\),/\1\n/g'
    name,name,name,name,name
    name,name,name,name,name
    name,name
    

    [^,]* 匹配任何字符,但不匹配, 零次或多次。在基本 sed 中,捕获组由 \(...\) 表示

    【讨论】:

    • 谢谢,正是我所需要的
    猜你喜欢
    • 1970-01-01
    • 2013-01-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多