原始文件包含以下格式的电子邮件地址:
domain.com\first.lastname
我曾经用sed
符号替换反斜杠@
。
我尝试了各种建议来交换domain.com
和first.lastname
字段。
sed 's/\(.*\) \@ \(.*\)/\2 - \1/' memberfile
sed -e 's/\(.*\)\s\(.*\)/\2 \1/' memberfile
sed -r 's/([a-zA-Z0-9]+) \- ([a-zA-Z0-9])*/\2 \- \1/' memberfile
以上所有内容都只是显示[email protected]
...我对 sed 很陌生!
答案1
尝试这个:
sed 's/\(.*\)\\\(.*\)/\2@\1/' memberfile
这假设文件仍采用原始的斜杠分隔格式。如果它是@分隔的格式,请尝试:
sed 's/\(.*\)@\(.*\)/\2@\1/' memberfile
答案2
sed
没有/regex 的其他方式:
awk -F\\ '{print $2"@"$1}' memberfile
或者
cut -d\\ -f1 memberfile | paste -d@ memberfile - | cut -d\\ -f2