RosettaCodeData/Task/Letter-frequency/PowerShell/letter-frequency.psh
2023-07-01 13:44:08 -04:00

9 lines
407 B
Text

function frequency ($string) {
$arr = $string.ToUpper().ToCharArray() |where{$_ -match '[A-KL-Z]'}
$n = $arr.count
$arr | group | foreach{
[pscustomobject]@{letter = "$($_.name)"; frequency = "$([math]::round($($_.Count/$n),5))"; count = "$($_.count)"}
} | sort letter
}
$file = "$($MyInvocation.MyCommand.Name )" #Put the name of your file here
frequency $(get-content $file -Raw)