从文本文件的每一行中删除字符前的非字母字符
Remove non-alpha characters before a character from every line of a text file
我有一个如下所示的文本文件:
13foobar@example.com
foo.bar3@example2.com
qwerty-1@dept.example3.com
如何使用 sed 或 perl 删除 @ 符号前的所有非字母字符。 IE。所需的输出将是:
foobar@example.com
foobar@example2.com
qwerty@dept.example3.com
输入
13foobar@example.com
foo.bar3@example2.com
qwerty-1@dept.example3.com
Perl 一行
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
下面一行就够了。
perl -pe 's/[^a-z]+(?=[^@\n]*@)//g'
我有一个如下所示的文本文件:
13foobar@example.com
foo.bar3@example2.com
qwerty-1@dept.example3.com
如何使用 sed 或 perl 删除 @ 符号前的所有非字母字符。 IE。所需的输出将是:
foobar@example.com
foobar@example2.com
qwerty@dept.example3.com
输入
13foobar@example.com
foo.bar3@example2.com
qwerty-1@dept.example3.com
Perl 一行
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
下面一行就够了。
perl -pe 's/[^a-z]+(?=[^@\n]*@)//g'