我将Jan Goyvaerts 的电子邮件正则表达式改编为 bash 函数,以便在管道中使用以匿名化电子邮件地址:
function remove_emails {
sed -r "s|\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b|email.address@removed.com|gI";
}
我在 bash 管道中使用:
mysqldump \
-uuser \
-ppass \
db_name \
| remove_emails \
| gzip -c \
| cat \
> tmp.sql.gz
工作正常,但现在,我想有不同的随机电子邮件,我会很满意:
email.address1@removed.com
email.address2@removed.com
或者
eiyyzhupzftrvjwehbqp@removed.com
kwmbrshzmxqlrqatqpff@removed.com
或任何不同且独特的东西
我对 bash 很满意,但是使用计数器、进程替换等失败,因为 sed 只被调用一次,所以
sed "s,sth,$(echo $RANDOM),g"
和类似的行不通,
sed 本身有什么东西可以生成随机的东西或计数器吗?