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

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とか)などでマスキングしてあげたほうがいいかもしれない。


Written by blacknon

インフラエンジニア(…のつもり)。 仕事で使うならクライアントはWindowsよりはUNIXの方が好き。 大体いつも眠い。

Leave a Comment

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

*