Мне было интересно, есть ли способ найти (и отобразить) все уникальные слова (слова, которые появляются один раз) в текстовом файле? Можно ли это сделать только с помощью командной строки? Или мне нужно использовать что-то вроде скрипта python?Уникальные слова в текстовом файле
ответ
Если вы не хотите писать приложение, то самый простой способ, который я могу сделать для этого, - использовать powershell. Смотрите это:
https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.utility/get-unique
Пример, который Microsoft предоставляет заполнит переменную со списком уникальных слов:
$A = $(foreach ($line in Get-Content C:\Test1\File1.txt) {$line.tolower().split(" ")}) | sort | Get-Unique
вы можете использовать дополнительные ограничители, хотя разделить на знаки препинания, например, как это:
$A = $(foreach ($line in Get-Content C:\test.txt) {$line.tolower().split(" .,?!;:")}) | sort | Get-Unique
Поместите это в файл с расширением .ps1, и вы можете запустить его из командной строки. Для того, чтобы получить значения из переменных только вторая строки с переменным эхом результата на экран:
$A
Чтобы получить количество элементов в массиве вы могли бы сделать это:
$A.count
Это отлично работало ! Спасибо огромное! –
Нет проблем. Для простых задач, таких как этот PowerShell, идеально. Быстрее сбивать небольшой скрипт, чем писать приложение, которое нужно скомпилировать. – tonythewest
Есть ли способ игнорировать пунктуацию вообще? –
Вы также можете попробовать этот [ссылка] (http://stackoverflow.com/questions/22978602/how-to-return-unique-words-from-the-text-file-using-python) –