小编Par*_*ker的帖子

使用 grep 打印所有不以空格分隔的匹配字符串

我正在浏览电子邮件文本文件,并尝试获取来自某个域的电子邮件列表。

我在跑:

grep -oh "\w*domain.com\w*" file.txt
Run Code Online (Sandbox Code Playgroud)

这会找到这些行,但只打印该“单词”,这意味着如果我在此列表上运行命令:

foo abc@notit.com bar
baz bcd@domain.com abc
xyz cde@adomain.com defg
klmn def@notit.com ijk
yes efg@efg.domain.com no
Run Code Online (Sandbox Code Playgroud)

它会返回

domain.com
adomain.com
domain.com
Run Code Online (Sandbox Code Playgroud)

我希望它返回包含“domain.com”的整个电子邮件地址:

bcd@domain.com
cde@adomain.com
efg@efg.domain.com
Run Code Online (Sandbox Code Playgroud)

这可能吗grep?我需要告诉它不要将句号或@符号视为断词。

编辑:同一行上有一堆不相关的数据,我不希望出现这些数据。

grep text-processing

5
推荐指数
1
解决办法
3352
查看次数

标签 统计

grep ×1

text-processing ×1