【发布时间】:2014-11-02 22:34:57
【问题描述】:
我有一个由, 分隔的 csv 文件。不幸的是,最后一列是一个文本字段,一些字符串有逗号,所以当我尝试将 csv 导入 MySQL 时,最后一列有时会被剪切。
我的 csv 文件示例(15 列) - 37k 行
Column1 ---------- Col2 Col3 Col4 ---- Col15
server.domain.tld,IP,Country,City,(...),text random text, text text
我需要用; 替换除最后一个, 之外的所有内容,因此当我使用; 作为列分隔符将文件导入MySQL 时,字段15 不会被剪切。另一种方法是将前 14 个 ',' 替换为 ';'。
我需要的输出:
Column1 ---------- Col2 Col3 Col4 ---- Col15
server.domain.tld;IP;Country;City;(...);text random text, text text
已经尝试过:
sed 's/,/;/g1-14'
sed 's/,/;/g{1-14}'
sed 's/,/;/g{1,14}'
sed 's/,/;/!14g'
sed 's/,/;/14g!'
sed 's/,/\1;\2;\3;\4;\5;\6;\7;\8;\9;\10;\11;\12;\13;\14;/'
【问题讨论】:
-
所以你不想替换最后一个逗号?