1
如何使用PowerShell計算文本文件中的特定字符串? (我知道如何計算正常的特定字符串)使用通配符計算特定字符串
我的計劃是計算日誌文件中的域帳戶。 腳本必須搜索「域*」,但我該怎麼做?
實施例的源數據:
測試請求域\ User1的測試請求域\ User1的測試請求測試域\用戶2測試
的例外結果:
- 找到2用戶
- 用戶1和用戶2
如何使用PowerShell計算文本文件中的特定字符串? (我知道如何計算正常的特定字符串)使用通配符計算特定字符串
我的計劃是計算日誌文件中的域帳戶。 腳本必須搜索「域*」,但我該怎麼做?
實施例的源數據:
測試請求域\ User1的測試請求域\ User1的測試請求測試域\用戶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
這是真棒!謝謝! 您能否告訴我如何使用RegEx排除以SA(Domain \ SA_Name1)開頭的服務帳戶? – LaPhi
只需使用負面預測:'Domain \\(?! SA)([\ S] +)' –