小编Mar*_*chs的帖子

使用空字段解析CSV,使用awk转义引号和逗号

我一直在用FPAT愉快地使用gawk.这是我用于示例的脚本:

#!/usr/bin/gawk -f

BEGIN {
    FPAT="([^,]*)|(\"[^\"]+\")"
}

{
    for (i=1; i<=NF; i++) {
        printf "Record #%s, field #%s: %s\n", NR, i, $i
    }
}
Run Code Online (Sandbox Code Playgroud)

简单,没有引号

效果很好.

$ echo 'a,b,c,d' | ./test.awk 
Record #1, field #1: a
Record #1, field #2: b
Record #1, field #3: c
Record #1, field #4: d
Run Code Online (Sandbox Code Playgroud)

有报价

效果很好.

$ echo '"a","b",c,d' | ./test.awk 
Record #1, field #1: "a"
Record #1, field #2: "b"
Record #1, field #3: c
Record #1, field #4: d
Run Code Online (Sandbox Code Playgroud)

用空列和引号

效果很好. …

regex csv awk

8
推荐指数
1
解决办法
521
查看次数

标签 统计

awk ×1

csv ×1

regex ×1