0
我試圖選擇所有電子郵件地址並將它們移動到使用sed的行末尾。我已經成功地想出瞭如何選擇電子郵件地址,但除了追加$到最後什麼都沒有做到 - 有沒有辦法將&(粘貼回選定的單詞)和$(到行尾)運營商完成我期待的目標?或者我應該尋找一種不同的方法?試圖將單詞移動到sed末尾
-bash-3.2$ sed "s/[a-z]*@*\.*\.[a-z].[a-z]/& $/" address
Xiao Li, [email protected] $, 6705462234, Jackson, NC 764
Elizi Moe, [email protected] $, 5208534566, Tempe, AZ 85282
Ma Ta, [email protected] $, 4345667345, Austin, TX 91030
Diana Cheng, [email protected] $, 5203456789, Matitsi, WY 4587
Jackson Five, [email protected] $, 5206564573, Kyenta, AZ 85483
Adi Srikanth Reddy, [email protected] $.edu, 6578904566, Wyo, WS 67854
Natkin William, [email protected] $.edu, 8044344528, Richmond, VA 22345
*注意:這些是虛假的名稱,地址&電話號碼。
工作!你介意怎麼解釋 - 或者至少解釋1 \ 3 \ 2的目的? – IAspireToBeGladOS
謝謝!這是一種將數據分割成列進行操作的非常有效的方式 - 我會牢記這一點。 – IAspireToBeGladOS
@IAspireToBeGladOS只要在列中沒有逗號,它就會工作,而我不知道當某些列爲空時它將會如何工作。這取決於文件格式化的程度。 您的問題sed命令不起作用,因爲'&只匹配郵件列,'&$'追加一個美元符號。你不要移動列。因此,您需要將電子郵件左側和右側的部分與捕獲組匹配,並使用反向引用交換部分。 –