我目前正在尋找一種方法來計算相等的正則運算式匹配并將它們輸出到表格或類似的東西中。
我的正則運算式如下所示:
$regex = "\A[[]{1}[0-9]{2}[.]{1}[0-9]{2}[.]{1}[0-9]{2}[,]{1}\s[0-9]{2}[:]{1}"
我的 Powershell 代碼目前看起來像這樣,并且只輸出腳本找到的所有匹配項。
((Select-String $content -Pattern $regex -AllMatches).Matches).value
腳本給我的輸出看起來像這樣(縮短):
[02.12.21, 11:
[02.12.21, 11:
[02.12.21, 11:
[02.12.21, 13:
[02.12.21, 13:
[02.12.21, 13:
[02.12.21, 13:
[02.12.21, 13:
[02.12.21, 13:
[02.12.21, 13:
我想輸出類似這樣的東西:
[02.12.21, 11: (3 times)
[02.12.21, 13: (7 times)
有人可以幫我嗎?
提前致謝!
uj5u.com熱心網友回復:
如評論中所述,您可以使用Group-Object:
$matchValues = @(
'[02.12.21, 11:'
'[02.12.21, 11:'
'[02.12.21, 11:'
'[02.12.21, 13:'
'[02.12.21, 13:'
'[02.12.21, 13:'
'[02.12.21, 13:'
'[02.12.21, 13:'
'[02.12.21, 13:'
'[02.12.21, 13:'
)
$matchValues | Group-Object | ForEach-Object { '{0} ({1} times)' -f $_.Name, $_.Count }
輸出:
[02.12.21, 11: (3 times)
[02.12.21, 13: (7 times)
每個組物件的Name屬性都包含唯一值,而它的Count屬性為您提供該值的實體數。
最后,您可以使用格式運算子 -f來生成所需的輸出。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/455830.html
上一篇:從可選的嵌套物件中提取值
