从文本文件的每一行中删除字符前的非字母字符

时间:2015-08-26 02:39:33

标签: regex perl sed email-address

我有一个看起来像这样的文本文件:

hash

如何使用 sed perl 删除@符号前的所有非字母字符。即期望的输出是:

13foobar@example.com
foo.bar3@example2.com
qwerty-1@dept.example3.com

2 个答案:

答案 0 :(得分:1)

以下单行应该就足够了。

$('#StudentPhoto').click();

答案 1 :(得分:0)

<强>输入

13foobar@example.com
foo.bar3@example2.com
qwerty-1@dept.example3.com

Perl one-liner

perl -ne 'my ($user,$host) = split /\@/; $user =~ s/[\W\d]//g; print $user . "@" . $host;'

行动

cat input | perl -ne 'my ($user,$host) = split /\@/; $user =~ s/[\W\d]//g; print $user . "@" . $host;'

<强>输出

foobar@example.com
foobar@example2.com
qwerty@dept.example3.com