如何使用sed或awk替换一些具有相应数字表示的元音?

lis*_*sak 2 regex awk sed

拥有一个包含多个(数百万)电子邮件地址的文件,是否可以应用此转换

a->4, e->3, i->1, o->0 
Run Code Online (Sandbox Code Playgroud)

对于所有电子邮件地址?例如,那样

test@example.com被取代t3st@3x4mpl3.c0m

我已经花了很多时间和精力,但发现用sed和regex技能完成它是不可能的.这不是一个学校练习,它只是开源软件时的隐私问题.

想象一下,数据是一个包含数百万个电子邮件地址的日志文件.

use*_*001 6

请改用tr命令:

$ tr 'aeio' '4310' <<< "test@example.com"
t3st@3x4mpl3.c0m
Run Code Online (Sandbox Code Playgroud)

正如所devnull指出的,如果数据在文件中,您可以这样做

tr 'aeio' '4310' < myfile
Run Code Online (Sandbox Code Playgroud)

  • @Sloin为什么你不能为所有地址做到这一点?说`tr .... <inputfile` (2认同)