仅替换特定行上的逗号

时间:2012-03-22 17:14:11

标签: text csv replace

我有一个逗号分隔的数据集。但我的格式有点问题。我希望一切都是x,x,x

的形式

以下是我的数据集示例:

995970,16779453
995971,16828069
995972,
995973,16828069
995974,16827226

正如您所看到的,我的大多数数据集都采用了正确的格式,但我在单个id#上也有这些逗号(我的数据格式为id#,connection#)。如何删除那些单个id#的逗号?我似乎无法用文本编辑器来解决这个问题。有什么建议吗?

编辑:我可以使用某种正则表达式只将它从那些具有指定长度的ID中删除吗?

Edit2:好的,我想出了一些正则表达式,感谢所有的帮助!

3 个答案:

答案 0 :(得分:0)

在vi中,人们会做类似

的事情
:%s/,$//

这意味着

(输入行模式命令)

(在每一行尝试命令)

s (替代)

,$ (在一行末尾匹配逗号)

(空替换文字)

有时你需要像/, *$/这样的东西匹配逗号后跟0或更多尾随空格。你可以通过各种不同的方式在windows上获得vi;一种方法是install Cygwin.

答案 1 :(得分:0)

您可以在Notepad++中选择正则表达式模式,然后使用以下正则表达式,$进行查找和替换。将替换字段留空。

答案 2 :(得分:0)

使用sed命令:

sed 's/, *//' < FILE

或inplace(需要GNU sed):

sed -ie 's/, *//' FILE