小编Juh*_*han的帖子

用竖线 | 替换逗号,双引号内除外,并删除双引号

文件 1

12584,"Capital of America, Inc.",,HORIZONCAPITAL,USA,......etc
25841,"Capital of America, Inc.",,HORIZONCAPITAL,USA,......etc
87455,"Capital of America, Inc.",,HORIZONCAPITAL,USA,......etc
Run Code Online (Sandbox Code Playgroud)

输出

12584|Capital of America, Inc.||HORIZONCAPITAL|USA|......etc
25841|Capital of America, Inc.||HORIZONCAPITAL|USA|......etc
87455|Capital of America, Inc.||HORIZONCAPITAL|USA|......etc
Run Code Online (Sandbox Code Playgroud)

我有一个 csv 文件,我必须将其转换为用管道(|)分隔的文本文件我已经完成了 shell 脚本 sed 's/^/"/;s/,/|/g;s/$/"/' $File > $Output

但问题在于“美国资本公司”这一领域。包含一个逗号,也用竖线 (|) 代替。所以我只想用管道替换所有内容,除了不在值内的值被赋予双引号“”。

是否有任何shell脚本可以做到这一点?

shell sed shell-script csv

7
推荐指数
2
解决办法
4071
查看次数

标签 统计

csv ×1

sed ×1

shell ×1

shell-script ×1