0

我正在尝试使用 解析从 MySQL 数据库生成的 csv 文件IFS=,,但某些字段包含,不应被视为分隔符的 a 。

例如,第一行是: "012345678","abcdefgh","Smith, John","1234 Main St. Somewhere, state"

我得到的回报是: "012345678","abcdefgh","Smith","John","1234 Main St. Somewhere","state"

我试图将每个字段分配给一个变量,但脚本被挂在不是实际字段分隔符的逗号上。

4

1 回答 1

0

您可以在此处使用 gnu awk 来拆分字符串,如下所示:

s='"012345678","abcdefgh","Smith, John","1234 Main St. Somewhere, state"'
echo "$s" | gawk 'BEGIN{ FPAT="\"[^\"]*\"" } {for (i=1; i<=NF; i++) print $i}'
"012345678"
"abcdefgh"
"Smith, John"
"1234 Main St. Somewhere, state"
于 2015-04-02T13:55:39.793 回答