使用通配符计算特定字符串

时间:2016-08-18 05:46:22

标签: powershell

如何使用PowerShell计算文本文件中的特定字符串? (我知道如何计算正常的特定字符串)

我的计划是在日志文件中计算域帐户。 该脚本必须搜索“Domain *”,但我该怎么办呢?

示例源数据:

  

测试请求域\用户1测试请求域\用户1测试请求测试域\用户2测试

例外结果:

  • 找到2位用户
  • User1和User2

1 个答案:

答案 0 :(得分:2)

我会使用正则表达式来捕获所有用户,并使用Select-Object cmdlet和-unique开关来获取唯一列表:

$yourString = 'Test request Domain\User1 Test Request Domain\User1 Test Request Test Domain\User2 Test'
$result = @([regex]::Matches($yourString, 'Domain\\([\S]+)') | ForEach-Object { $_.Groups[1].Value } | select -Unique)
Write-Host "Found $($result.count) User"
Write-Host "$($result -join ' and ')"

<强>输出:

Found 2 User
User1 and User2