Regex 如何将逗号添加到文本文件中行的最后一个字符

Regex 如何将逗号添加到文本文件中行的最后一个字符,regex,line,replace,Regex,Line,Replace,我有一个很长的文本文件,里面充满了电子邮件地址,是从一个新闻简报数据库导出的。要在另一个系统中导入它们,我需要用逗号分隔这些地址 我正在尝试使用正则表达式进行搜索/替换。到目前为止,我可以找到每行的最后一个字符: [^\n]$ 这就是我的“搜索”字段。但我不知道用什么来替换。我对regex非常陌生,是否有一个通配符可以执行以下操作: [any characted found], 调查塞德 sed 's/$/,/' filename 您可以搜索([^\n])$,并将其替换为\1,——具体取决

我有一个很长的文本文件,里面充满了电子邮件地址,是从一个新闻简报数据库导出的。要在另一个系统中导入它们,我需要用逗号分隔这些地址

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

[^\n]$
这就是我的“搜索”字段。但我不知道用什么来替换。我对regex非常陌生,是否有一个通配符可以执行以下操作:

[any characted found],
调查塞德

sed 's/$/,/' filename

您可以搜索
([^\n])$
,并将其替换为
\1,
——具体取决于您的正则表达式引擎。

简短回答:是的,您想要的肯定可以完成。但首先,请提供更多信息:您使用什么程序进行搜索和替换?不同的正则表达式风格有着微妙的不同语法(或者有时不那么微妙)。有关详细信息,请参阅。你的文件的确切格式是什么,是每行一个电子邮件地址,还是地址之间有其他分隔符?我在Linux(ubuntu)上使用Geany,文件是文本文件,每个电子邮件地址都在一行上,结尾没有空格,只有分隔符是换行符。欢迎!诀窍是
()
创建一组字符,以后通过引用每个组在正则表达式中的位置进行替换时可以使用这些字符,即.\1是第一个捕获的组,2是第二个捕获的组,依此类推。
perl -pe 's/$/,/'⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠ ⁠⁠⁠⁠⁠ ⁠⁠⁠⁠⁠