Из вопроса мы не знаем, что находится в текстовом файле. До сих пор подходы будут работать, только если в строке будет только 1 слово. Я думаю, что-то вроде ниже будет работать независимо от:
$Content = (Get-Content 'C:\temp\test12-01-19' -raw) -Split "\b"
$content |
Where-Object{$_.Length -ge 6} |
Group-Object -Property Length -NoElement | Sort-Object count | Format-Table -AutoSize
Здесь я читаю в файле в виде одной строки, используя параметр -Raw. Затем я разделяю границы слов. Все еще используйте Где отфильтровать слова короче 6 символов. Теперь используйте Group-Object для свойства length, как видно из других примеров.
Я не часто использую словоограничение RegEx. Меня беспокоит то, что пунктуация может показаться странной, но мои тесты выглядят неплохо.
Дайте мне знать, что вы думаете.