PowerShellで文字列の配列を走査して、それぞれの文字列(単語)の出現数を数える、というのをやりたかったのですが、やり方が見つからなかったのでスクリプトを書きました。
# count.ps1 $count = @{} foreach($x in $input) { if (!$count.ContainsKey($x)) { $count[$x] = 1 } else { ++$count[$x] } } $count.GetEnumerator() | sort Value -descending | foreach { # Write-Host $({"{0}:{1}" -F $_.name, $_.value}) echo ([String]::Format("{0}:{1}", $_.value, $_.name)) }
以下のように使います。
# 入力 @("aa","bb","aa","bb","cc","dd","aa","cc") | count.ps1 # 出力 3:aa 2:cc 2:bb 1:dd