如何使用PowerShell导出包含特定电子邮件域的csv文件中的行?

如何使用PowerShell导出包含特定电子邮件域的csv文件中的行?,powershell,csv,Powershell,Csv,假设我有一个csv文件,有四列:“员工编号”、“名字”、“姓氏”、“电子邮件” 如何仅导出具有特定电子邮件域的行,例如@acme.com或@contoso.com?到目前为止,这是我在下面尝试过的,但我没有得到任何输出 Import-CSV -Path $SrcFolder\employees.csv | Where-Object {$_.'Email' -Like "@acme.com|@contoso.com"} | Export-CSV -Path $DestFolder\employee

假设我有一个csv文件,有四列:“员工编号”、“名字”、“姓氏”、“电子邮件”

如何仅导出具有特定电子邮件域的行,例如@acme.com或@contoso.com?到目前为止,这是我在下面尝试过的,但我没有得到任何输出

Import-CSV -Path $SrcFolder\employees.csv | Where-Object {$_.'Email' -Like "@acme.com|@contoso.com"} | Export-CSV -Path $DestFolder\employees_out.csv -notypeinfo

请改用-match运算符。这项工作:

Import-CSV -Path $SrcFolder\employees.csv | 
    Where-Object {$_.'Email' -imatch "@acme.com|@contoso.com"}
如果您不想弄乱upper/lower,请使用-imatch。这也有效:

Import-CSV -Path $SrcFolder\employees.csv | 
    Where-Object {$_.'Email' -imatch "@acme.com|@contoso.com"}

HTH

操作符不使用正则表达式。[grin]请改用
-match
操作符。感谢您的快速响应!“imatch”参数正是我所需要的。我被困在尝试使用“-like”时,没有探索任何其他选项。