【发布时间】:2014-11-14 12:00:38
【问题描述】:
我正在使用 powershell 在 htm 文件中查找电子邮件地址并将其写入文本文件。 我正在使用 select-string 可以找到字符串 OK,但会将行号和电子邮件地址写入文件。
我想要的只是电子邮件地址!看起来很简单,但是我破解不了。
这是我的代码:
$List_htm = Get-ChildItem -Filter *.htm
# Loop:
foreach ($htm in $List_htm)
{
# Locate recipient email address to send to:
# Regex pattern to match:
$pattern = '(^\W*.*@.*\.{1,}\w*$)'
$sel = select-string -list $htm -pattern $pattern | Select-Object Line
If ($Sel -eq $null)
{
write-host "FAILS - $htm does NOT contain $pattern"
}
Else
{
write-host "WORKS! $pattern `n$sel"
}
Write-host "end"
$EmailAddressee = $PDFFolder + "EmailAddressee.txt"
$sel | Out-File $EmailAddressee
}
但是 emailaddressee.txt 看起来像这样:
Line
----
fred.bloggs@helpmeplease.com
我想要的只是一个包含电子邮件地址的单行:
fred.bloggs@helpmeplease.com
我显然可以在 powershell 中进一步处理这个结果文件来得到这个,但我希望有人能想出一个简单的单阶段结果。
谢谢
伊恩
【问题讨论】:
标签: powershell