2011-05-20 20 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/$/,/'⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠⁠ ⁠⁠⁠⁠⁠ ⁠⁠⁠⁠⁠ 
相關問題