• ベストアンサー

メールヘッダから送信メールアドレスの抜き出し

以下の1行から、メールアドレスだけ抜き出すには どのようにしたらよいでしょうか。 From: 送信者<アカウント@ドメイン> Fromと送信者の設定してる名前は除いて(気にせず) sedで文字を削りあげるより、直接 <>←この括弧の中が<英数字@英数字>であれば 英数字@英数字だけ抜き出す。という方法で、 メールアドレスだけ抜き出したいのです。 どんな方法がありますでしょうか

質問者が選んだベストアンサー

  • ベストアンサー
  • D-Matsu
  • ベストアンサー率45% (1080/2394)
回答No.1

行の抽出のほうはgrepを使って <[0-9a-zA-Z]+@[0-9a-zA-Z\.]+> #他にもメールアドレスに使える記号はあるので本当はもう少し条件加える必要があるはずです で、反応した行をFS="<>"としたawkで切り出して$2をprintすればたぶんできるでしょう。 参考:http://okwave.jp/qa831996.html

r-linux
質問者

お礼

ありがとうございます。 <[0-9a-zA-Z]+@[0-9a-zA-Z\.]+> 上記が <英数字@英数字> だった場合になるのでしょうか grep <[0-9a-zA-Z]+@[0-9a-zA-Z\.]+>  としてもダブルクォーテンションで 囲ってもHITしませんでした。 FSの方も、<アカウント@ドメイン>の行がHITするか 試したのですがうまくいきませんでした。。 自分でも追って見ますが、ご存知でしたら教えてください。

関連するQ&A