2014-02-15 34 views
2

我試圖從SQL轉儲文件中清理電子郵件,我可以使用一些建議。我這樣做是因爲我想發送一些開發人員「大部分正確」的信息,而不共享實際的用戶信息。我有一個循環逐行的BASH腳本,所以我試圖在INSERT語句中進行SED替換。我需要重複愚蠢的因爲我有其他一些擦洗的東西,這是工作。我有一些正常的正則表達式(我認爲),但我似乎無法將其納入SED。的正則表達式:使用SED匹配SQL轉儲中的電子郵件並替換它們

'(.*@.*?)' 

將匹配「[email protected]」,但我無法得到它進入SED,我敢肯定,有一個更好的正則表達式。這是我的示例行。

'firstname','[email protected]','lastname' 

我希望能夠在'@ @無效'的引號之間進行替換。任何建議將不勝感激。

+0

通常這種說法'我有一個BASH腳本循環..'意味着你已經離開了軌道的某個地方。如果您發佈了一些示例輸入和預期輸出,我們可以幫助您做到這一點。 –

回答

1

嘗試:

sed "s/'[^@']*@[^@']*'/'[email protected]'/g" 

我已經更換了你.*,更具體的[*@']*,僅匹配字符串這有任何單引號'@,這是必要的,因爲sed貪婪

相關問題