元のファイルには、次の形式の電子メールアドレスが含まれています。
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