メールアドレスの単語を置き換える

メールアドレスの単語を置き換える

並べ替える必要がある次の「間違った」Eメールアドレスがあります。

私は成功せずに次のことを試しました。

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]

関連情報