Как выбрать элемент с большим количеством элементов в powershell с помощью groupby?

#c# #powershell #powershell-3.0

#c# #powershell #powershell-3.0

Вопрос:

У меня есть список в powershell, который содержит элементы 1,2,2,2

При использовании команды

 $list_of_instance| Group-Object -NoElement 
  

Я получаю следующий вывод:

 Count Name
----- ----
  1     1
  3     2
  

Теперь, поскольку количество элементов 2 равно 3, я хочу выбрать эти элементы из списка и сохранить элемент 2 в переменной.

Ответ №1:

Добавьте Sort-Object для сортировки по количеству свойств, затем добавьте Select-Object , чтобы выбрать последний элемент в отсортированном списке и поместить Name свойство в переменную

 $list_of_instance = 1,2,2,2
$var = ($list_of_instance| Group-Object -NoElement | Sort-Object Count | Select-Object -Last 1).Name 
  

$var теперь будет иметь строковое значение «2»

Если вы хотите, чтобы $var имел тот же тип, что и исходный, снимите -NoElement переключатель и перейдите к первому элементу в группе:

 $list_of_instance = 1,2,2,2
$var = ($list_of_instance| Group-Object | Sort-Object Count | Select-Object -Last 1).Group[0] 
$var