2

我正在使用 textwrangler 并且是正则表达式的新手。我有一堆电子邮件地址,但我只需要删除那些@mydomain.edu 地址。

Standard Hall,414,Ashley,Smith,"asmith@mydomain.edu, asmith@otherdomain.com"
Standard Hall,414,Stacy,Smith,"ssmith@mydomain.edu, ssmith@otherdomain.com"

如您所见,每一行都有一个使用@mydoamin.com. 我想每次@mydomain.com发生时删除整个电子邮件地址,并留下备用电子邮件。

有没有办法做到这一点?

4

2 回答 2

1

如果您的地址在每行一个列表中,您可以使用grep

grep -v "@mydomain.edu" file.txt

编辑awk

awk -F, '$5 ~ /@mydomain.edu/ { sub("[^\", ]*@mydomain.edu[, ]*","") }1' file.txt

结果:

Standard Hall,414,Ashley,Smith,"asmith@otherdomain.com"
Standard Hall,414,Stacy,Smith,"ssmith@otherdomain.com"
于 2012-08-09T23:01:06.977 回答
0

在 TextWrangler 的 Find 中标记 Grep 复选框并将这一行插入到 Find 文本框中:

([a-zA-Z0-9\.]*@mydomain.edu(, )?)|((, )?[a-zA-Z0-9\.]*@mydomain.edu)

然后点击Replace All。这将删除具有该域的所有电子邮件并留下正确数量的逗号。

于 2012-08-09T23:49:58.050 回答