0

問題を解決できません。メールアドレスを含むテキストがあります。ポンド記号でアドレスを変更するには、このファイルが必要です。

例えば:

bla bla bla example{at sign}gmail.com->#######{at sign}#####.###

4

4 に答える 4

0

ファイルをその場で変更する醜いワンライナー:

$ cat text
Each message has exactly one header, which is structured into fields. firstemail@gmail.com Each field has a name and a value. secondmail@gmail.com RFC 5322 specifies the precise syntax thirdmail@gmail.com
$ < text egrep -o "\b[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,4}\b"  | sort -u | ( while read b ; do echo "s/$b/$(tr a-z0-9_%+-. \# <<< ${b%@*})@$(tr a-z0-9_%+- \# <<< ${b#*@})/g" ; done ) | xargs -n1 -I{} sed -i,bak {} text
$ cat text
Each message has exactly one header, which is structured into fields. ##########@#####.### Each field has a name and a value. ##########@#####.### RFC 5322 specifies the precise syntax #########@#####.###

ここからメールの正規表現を取得しました。また、メールの左側のドットも難読化する必要があると想定しました。first.name@gmail.com --> #########@#####.###

于 2013-11-06T21:33:05.143 に答える
0

次のように sed を使用できます。

sed -r 's/(^| )[^ @]+@[^ ]+/\1#########@#####.###/g' file
Each message has exactly one header, which is structured into fields. #########@#####.### Each field has a name and a value. #########@#####.### RFC 5322 specifies the precise syntax #########@#####.### .
于 2013-11-06T20:28:15.053 に答える