【问题标题】:Need to remove aliases from list of emails in .csv (powershell)需要从 .csv (powershell) 中的电子邮件列表中删除别名
【发布时间】:2014-04-03 22:53:01
【问题描述】:

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

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

所以我有一个庞大的列表

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

如果有人有另一个(免费)选项,则必须在 Powershell 中完成。

提前致谢。

【问题讨论】:

  • 您的 .csv 文件是什么样的(除了电子邮件地址之外还有更多字段,还是只是地址列表)?

标签: excel powershell csv notepad++


【解决方案1】:

好的,给定一个这样的 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

【讨论】:

    【解决方案2】:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-15
      • 2019-04-13
      • 1970-01-01
      • 2017-02-01
      • 1970-01-01
      • 2019-09-18
      相关资源
      最近更新 更多