Bash 如何使用sed、awk或grep在以“开始”一词开头的文件中查找电子邮件;滥用;?

Bash 如何使用sed、awk或grep在以“开始”一词开头的文件中查找电子邮件;滥用;?,bash,awk,sed,Bash,Awk,Sed,Ubuntu 16.04 GNUBash,版本4.4.0 我需要在一个以单词滥用开始的文件中提取电子邮件。 这是一个包含ip地址的whois信息的文件,其中包含电子邮件abuse@web.ad.jp在它里面 % [whois.apnic.net] % Whois data copyright terms http://www.apnic.net/db/dbcopyright.html % Information related to '121.92.0.0 - 121.93.255.25

Ubuntu 16.04
GNUBash,版本4.4.0

我需要在一个以单词滥用开始的文件中提取电子邮件。 这是一个包含ip地址的whois信息的文件,其中包含电子邮件abuse@web.ad.jp在它里面

% [whois.apnic.net]
% Whois data copyright terms    http://www.apnic.net/db/dbcopyright.html

% Information related to '121.92.0.0 - 121.93.255.255'

% Abuse contact for '121.92.0.0 - 121.93.255.255' is 'hostmaster@nic.ad.jp'

inetnum:        121.92.0.0 - 121.93.255.255
netname:        InfoWeb
descr:          FUJITSU LIMITED
descr:          17-25, SHINKAMATA 1-CHOME, OTA-KU,
descr:          TOKYO 144-8588, JAPAN
country:        JP
admin-c:        JNIC1-AP
tech-c:         JNIC1-AP
status:         ALLOCATED PORTABLE
remarks:        Email address for spam or abuse complaints abuse@web.ad.jp
mnt-by:         MAINT-JPNIC
mnt-irt:        IRT-JPNIC-JP
mnt-lower:      MAINT-JPNIC
last-modified:  2015-12-01T22:23:26Z
source:         APNIC

irt:            IRT-JPNIC-JP
address:        Urbannet-Kanda Bldg 4F, 3-6-2 Uchi-Kanda
address:        Chiyoda-ku, Tokyo 101-0047, Japan
e-mail:         hostmaster@nic.ad.jp
abuse-mailbox:  hostmaster@nic.ad.jp
admin-c:        JNIC1-AP
tech-c:         JNIC1-AP
auth:           # Filtered
mnt-by:         MAINT-JPNIC
last-modified:  2017-10-18T10:21:54Z
source:         APNIC
我不关心哪个命令提取abuse@web.ad.jp从文件来看,我只关心它的效率

在过去,我使用grep查找文件中的所有电子邮件地址,如

grep-o'[:alnum:+\.\\\-]*@[:alnum:+\.\\.\\-]*'“$1”|排序| uniq-i

但是,决不要使用以单词开头的电子邮件,因此我预期的命令输出将产生abuse@web.ad.jp

$grep“滥用[a-z]*@[a-z\.]\+”-o
$ grep "abuse[a-z]*@[a-z\.]\+" -o <filename>

如果您的电子邮件不包含数字或大写字母,则可以正常工作。

@好奇的山姆,请在您的帖子中添加您为解决问题所做的努力,然后让我们知道。
grep-oabuse@.我通常是这样做的,我在编辑我的OP的过程中,包含了我过去使用的一个GRIP命令来查找所有的电子邮件地址,然后小姐们回到家,决定告诉我她的工作之夜有多糟糕。事情发生了,我向你道歉。@devd你的回复给了我我所需要的,并且工作得很好,但是期限是什么呢?你甚至不需要
[a-z0-9]*
这里,只要
grep-m 1-ioE'crack@[^[:blank:]+'文件就足够了。如果电子邮件id像
abuse23
?这对所有人都是有用的:
grep-i-o“虐待[a-z0-9]*@[a-z\.]\+'
@devd我看到了几封俄罗斯虐待电子邮件,附有单引号,通过了你的最新回复。如果您有时间展示如何包含这些内容,那就太好了。@CuriousSam这可能有助于
grep-i-o“滥用”('\)\?[a-z0-9]*\('\)\?@[a-z\.]\+”
。抱歉耽搁了。@devd马上开始!!