Как удалить дубликаты из массива PowerShell?
$a = @(1,2,3,4,5,5,6,7,8,9,0,0)
arrays
powershell
Эрик Шуновер
источник
источник
Get-Unique
(илиgu
), если ваш массив уже отсортирован.-u
.select -u
Я бы использовал это в командной строке, но при написании кода предлагается использовать полную формулировку PS:Select-Object -Unique
Другой вариант - использовать
Sort-Object
(псевдонимsort
, но только в Windows) с-Unique
переключателем, который сочетает сортировку с удалением дубликатов:источник
Если вы хотите полностью доказать свою бомбу, я бы посоветовал вот что:
Вывод:
Это использует
Property
параметр для первыхTrim()
строк, поэтому лишние пробелы удаляются, а затем выбираются только-Unique
значения.Больше информации на
Sort-Object
:источник
Get-Unique
не сработало из-за пробеловЭто работает с нечувствительностью к регистру, поэтому удаляются повторяющиеся строки с разными регистрами. Решил мою проблему.
Вышеуказанные выходы:
источник
Если список отсортирован, вы можете использовать командлет Get-Unique :
источник
С помощью моего метода вы можете полностью удалить повторяющиеся значения, оставив вам значения из массива, у которого было только количество 1. Было не ясно, действительно ли это то, что OP хотел, однако мне не удалось найти пример этого решения в Интернете, поэтому вот.
источник
Используете ли вы
SORT -UNIQUE
,SELECT -UNIQUE
илиGET-UNIQUE
от Powershell 2.0 до 5.1, все приведенные примеры находятся на отдельных массивах столбцов. Мне еще предстоит заставить это работать в массивах с несколькими столбцами, чтобы УДАЛИТЬ повторяющиеся строки, чтобы оставить отдельные вхождения строки в указанных столбцах, или разработать альтернативное решение сценария. Вместо этого эти командлеты возвращают только строки в массиве, которые произошли ОДИН РАЗ с единичным вхождением, и сбрасывают все, что имело дубликат. Обычно мне приходится вручную удалять дубликаты из окончательного вывода CSV в Excel, чтобы закончить отчет, но иногда я хотел бы продолжить работу с указанными данными в Powershell после удаления дубликатов.источник