Организация табличного вывода (параметр -GroupBy) — КиберПедия 

Эмиссия газов от очистных сооружений канализации: В последние годы внимание мирового сообщества сосредоточено на экологических проблемах...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Организация табличного вывода (параметр -GroupBy)

2022-10-28 19
Организация табличного вывода (параметр -GroupBy) 0.00 из 5.00 0 оценок
Заказать работу

Другим полезным параметром управления табличным выводом является параметр GroupBy. Длинные табличные выводы особенно тяжелы для сравнения. Параметр GroupBy группирует выводимые данные в соответствии со значениями свойств. Например, можно сгруппировать процессы по компании для упрощения проверки, исключая название компании из списка свойства:

PS> Get-Process -Name powershell | Format-Table -Wrap -AutoSize -Property Name,I d,Path -GroupBy Company     Company: Microsoft Corporation   Name    Id Path ----    -- ---- powershell 1956 C:\Program Files\Windows PowerShell\v1.0\powershell.exe powershell 2656 C:\Program Files\Windows PowerShell\v1.0\powershell.exe

 

Перенаправление данных с помощью командлетов Out-*

Windows PowerShell предоставляет несколько командлетов, которые позволяют напрямую управлять выводом данных. Эти командлеты обладают двумя общими важными характеристиками.

Во-первых, они обычно преобразуют данные в некоторое текстовое представление. Преобразование выполняется, поскольку данные выводятся в системные компоненты, ожидающие текстовый ввод. Это означает, что объекты должны быть представлены в текстовом виде. Поэтому текст форматируется в виде, пригодном для отображения в окне консоли Windows PowerShell.

Во-вторых, эти командлеты используют глагол Windows PowerShell Out, поскольку отправляют сведения из Windows PowerShell за пределы оболочки. Командлет Out-Host не является исключением: окно главного приложения отображается вне Windows PowerShell. Это важно, поскольку при передаче из Windows PowerShell данные в действительности удаляются. Убедиться в этом можно, если попытаться создать конвейер, который постранично передает данные в окно главного приложения и пытается отформатировать их в виде списка, как показано ниже:

PS> Get-Process | Out-Host -Paging | Format-List

 

Можно было бы ожидать, что команда отобразит страницы сведений о процессе в виде списка. Вместо этого она выводит их в виде табличного списка по умолчанию:

Handles NPM(K) PM(K) WS(K) VM(M) CPU(s) Id ProcessName ------- ------ ----- ----- ----- ------ -- ----------- 101  5 1076  3316 32 0.05 2888 alg ... 618 18 39348 51108 143 211.20 740 explorer 257  8 9752 16828 79 3.02 2560 explorer ... <SPACE> next page; <CR> next line; Q quit ...

 

Командлет Out-Host передает данные напрямую консоли, поэтому команда Format-List так и не получает ничего для форматирования.

Чтобы правильно структурировать эту команду, нужно поместить командлет Out-Host в конец конвейера, как показано ниже. При этом данные процесса форматируются в виде списка перед разбиением на страницы и отображением.

PS> Get-Process | Format-List | Out-Host -Paging     Id: 2888 Handles: 101 CPU: 0.046875 Name: alg ...   Id: 740 Handles: 612 CPU: 211.703125 Name: explorer   Id: 2560 Handles: 257 CPU: 3.015625 Name: explorer ... <SPACE> next page; <CR> next line; Q quit ...

 

Это относится ко всем командлетам Out. Командлет Out всегда должен находиться в конце конвейера.

Примечание

Все командлеты Out подготавливают вывод в виде текста, используя текущее форматирование для окна консоли, включая ограничения на длину строки.

Разбиение вывода консоли на страницы (командлет Out-Host)

По умолчанию Windows PowerShell передает данные в окно главного приложения, что и является функцией командлета Out-Host. Как было описано ранее, основное назначение командлета Out-Host заключается в разбиении данных на страницы. Например, следующая команда использует командлет Out-Host для разбиения на страницы вывода командлета Get-Command:

PS> Get-Command | Out-Host -Paging

 

Для разбиения данных на страницы можно также использовать функцию more. В Windows PowerShell функция more вызывает команду Out-Host -Paging. Следующая команда демонстрирует использование функции more для разбиения на страницы вывода командлета Get-Command:

PS> Get-Command | more

 

Если в качестве параметров этой функции указать одно или несколько имен файлов, функция прочитает указанные файлы и разобьет на страницы их содержимое при передаче в главное приложение:

PS> more c:\boot.ini [boot loader] timeout=5 default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS [operating systems] ...

 


Поделиться с друзьями:

Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Своеобразие русской архитектуры: Основной материал – дерево – быстрота постройки, но недолговечность и необходимость деления...

Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.009 с.