需要从.csv(powershell)中的电子邮件列表中删除别名

时间:2014-04-03 22:53:02

标签: excel powershell csv notepad++

我有一个大约有800封电子邮件的.csv。我需要从地址中删除别名,以便我只导入域。我还需要删除重复项,但我可以自己做。

我尝试了各种形式的get-content和replace命令,但无法正确格式化。

所以我有一个很大的

列表

alias@domain.com地址, 我需要解析那些 domain.com地址。

如果有人有另一个(免费)选项,那么 就不会在Powershell中完成。

提前致谢。

2 个答案:

答案 0 :(得分:0)

好的,给出一个CSV文件:

Name,Email
John Doe,jdoe@company.com
Jane Smith,jane.smith@othercompany.com
Bill Anderson,BigBadBill@hotmail.com

你可以这样做:

$EmailList = import-csv emaillist.csv|?{$_.email -match "@.+\..+"}|%{$Matches.values}|select -Unique

或者它只是一个列表,没有标题行或任何诸如:

jdoe@company.com
jane.smith@othercompany.com
BigBadBill@hotmail.com

你可以这样做:

$EmailList = gc emaillist.csv|?{$_ -match "@.+\..+"}|%{$Matches.values}|select -Unique

答案 1 :(得分:0)

如果带有电子邮件的列是最后一列(打开文件时最右边的列,或唯一列)。 这将返回所需的值:

gc YourEmailsList.csv | % {
    [regex]::matches($_,"(?<=@).*\.*[a-z]").value
}