2011-05-20 15 views
2

我有一个很长的文本文件,其中包含电子邮件地址,从导出的时事通讯数据库。要将它们导入到另一个系统中,我需要用逗号分隔这些地址。如何在文本文件中将逗号添加到行的最后一个字符

我正在尝试使用正则表达式进行搜索/替换。到目前为止,我可以找到每行的最后一个字符:

[^\n]$ 

这就是我的“搜索”字段。但我不知道应该把什么放入“替换”。我很新的正则表达式,有一个通配符,将允许做这样的事情:

[any characted found], 
+2

简而言之:是的,你想要的东西绝对可以做到。但首先,请提供一些更多信息:您使用什么程序来执行搜索和替换?不同的正则表达式风格有微妙的不同语法(或者有时不那么微妙)。有关很多信息,请参阅http://www.regular-expressions.info/。你的文件的确切格式是什么,每行是一个电子邮件地址,还是在地址之间有其他分隔符? – OpenSauce 2011-05-20 15:28:31

+0

我在Linux(ubuntu)上使用Geany,并且该文件是一个文本文件,每个电子邮件地址在一行上,没有空格结束,只有分隔符是换行符。 – mike23 2011-05-20 15:33:01

回答

12

您可以搜索([^\n])$和替换它由\1, - 取决于您的RegEx引擎。

+0

这对我工作,谢谢 – mike23 2011-05-20 15:35:52

+1

不客气!诀窍是'()'创建了一组字符,通过在正则表达式中引用每个组的方式来替换时,可以稍后使用这些字符,即\ 1是第一个捕获组,\ 2是第二个,依此类推。 – Flygenring 2011-05-20 16:08:53

4

查找到的sed ...

sed 's/$/,/' filename 
+0

这也工作,非常感谢 – mike23 2011-05-20 15:38:18

1
perl -pe 's/$/,/'⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠ ⁠⁠⁠⁠⁠ ⁠⁠⁠⁠⁠ 
相关问题