1

我有这个问题:我有一个 CSV 文件,其中包含一些这种格式的数据:

100,30,1.704,,7
101,,suka,,5

我应该在 mysql 表中导入这个 CSV

如您所见,此 csv 有空字段,用双逗号 ',,' 表示。我想使用 sed 和正则表达式,定义模式如果匹配,用我的 csv 文件中的数字58替换它。任何人都可以帮助我,我不太了解正则表达式。

4

4 回答 4

3

这可能对您有用:

sed ':a;s/,,/,58,/g;ta' file
于 2012-04-28T18:08:07.323 回答
1

像这样的东西应该可以解决问题:

sed -e 's/,,/,58,/g'

它将搜索 ('s') 或 ',,' 并将其替换为 ',58,' 以查找所有出现 ('g'; 而不是仅第一次出现))

于 2012-04-28T17:24:14.027 回答
0

在 Vi 编辑器中,进入命令模式并输入以下内容:

:%s/,,/,58,/g
于 2012-04-30T12:23:44.457 回答
-1

如果您需要正则表达式选项,您可以尝试使用 notepad++。打开搜索和替换将搜索模式设置为“正则表达式”替换,,,58,,,,,,,,我刚刚尝试过,它的工作原理......,58,58,58,58

于 2012-04-28T17:26:50.813 回答