使用 grep 从文件中获取电子邮件地址,正则表达式不起作用?

使用 grep 从文件中获取电子邮件地址,正则表达式不起作用?

所以我有一个包含这样的电子邮件的文件:

[email protected]:theirUsername

[email protected]:theirUsername

...

我想提取以 PA 开头的电子邮件,然后是 6 个随机字符,然后是 @gmail.com,之后是:他们的用户名,这对我来说用户名是什么并不重要。

我尝试使用这个:

egrep "^PA[a-zA-Z0-9-.+_]{6}@gmail.com:[a-zA-Z0-9-.+_]+"

我用 grep 尝试过,但仍然不起作用,但它不起作用?我已经很长时间没有将正则表达式与egrep一起使用了,阅读手册也没有帮助,我在这里做错了什么?正确的输入方法是什么?

答案1

如果您真的只想要“6 个随机字符”并且不关心后面的内容,:那么您可以轻松简化。:根本不要尝试匹配 the 之后的内容,只需使用 a.来表示 PA 之后的字符

egrep '^PA.{6}@gmail.com:'

例如

% cat f
hello
[email protected]:jgkfd
[email protected]
[email protected]:

% egrep '^PA.{6}@gmail.com:' f
[email protected]:jgkfd

相关内容