交换电子邮件地址中的单词

交换电子邮件地址中的单词

我有以下“不正确”的电子邮件地址需要重新排列:

我尝试了以下方法,但没有成功:

sed -r 's/(^[A-Za-z0-9._%+-][^@]*) \(@[A-Za-z0-9.-][^.]*) \([.][A-Za-z0-9.-]*)/\3 \2 \1/'

答案1

尝试这个:

$ sed 's/\([^@]*\)@\(.*\)\.\([^.]*\)/\2@\3.\1/' file
[email protected]
[email protected]
[email protected]

答案2

对于分隔数据,awk 通常是一个不错的选择。

$ awk -F'[@.]' '{print $2 "@" $3 "." $1}' file
[email protected]
[email protected]
[email protected]

相关内容