sedでメールアドレスを『○○○@●●●●●』というようにマスキング置換する
Pocket

phpなどのログでメールアドレスを記録していると、個人情報保護の観点から別の部署や開発会社にデータを渡す際に、アドレスがわからないようマスキングする必要があったりする。
そんな時は、以下のようにsedで一括置換をすればいい。
※『○○○@●●●●●』の箇所はお好みで変更。

sed "s/[^@ ]*@[^@]*\.[^@ ]*/○○○@●●●●●/g" ファイルPATH
Sponsored Links

実際に実行した結果が以下。

[root@test-centos7 ~]# cat /work/test.log
[2015/09/06 11:00:00] send mail to 'aaaa@aaaaa.co.jp'
[2015/09/06 11:05:00] send mail to 'bbbb@aaaaa.co.jp'
[2015/09/06 11:10:00] send mail to 'cccc@aaaaa.com' and 'cccc@rrrrr.or.jp'
[2015/09/06 11:15:00] send mail to 'dddd@ddddddd.com'
[root@test-centos7 ~]# sed "s/[^@ ]*@[^@]*\.[^@ ]*/○○○@●●●●●/g" /work/test.log
[2015/09/06 11:00:00] send mail to ○○○@●●●●●
[2015/09/06 11:05:00] send mail to ○○○@●●●●●
[2015/09/06 11:10:00] send mail to ○○○@●●●●● and ○○○@●●●●●
[2015/09/06 11:15:00] send mail to ○○○@●●●●●

20150906_000001

 

以上。
とりあえず全角でマスキングしたけれど、本来ならば半角の英数字(Xとか)などでマスキングしてあげたほうがいいかもしれない。

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。