Интересный cmdlet из модуля Microsoft.PowerShell.TextUtility
Модуль Microsoft.PowerShell.TextUtility получил новый командлет ConvertFrom-TextTable. Он умеет превращать текстовую таблицу (типичный вывод большинства shell-команд Linux) в массив объектов. И даже больше - он может распарсить значения в столбцах таблицы и сконвертировать их в соответсвующие типы (например Int или Float, Boolean). Ну и наконец вместо объекта массива, командлет может вернуть массив строк в формате JSON.
Установить модуль можно из PowershellGallery:
Install-Module -Name Microsoft.PowerShell.TextUtility -AllowPrerelease
PS> df | select -first 6 | convertfrom-texttable -ConvertPropertyValue | Format-Table Filesystem 1K-blocks Used Available Use% Mounted_on ---------- --------- ---- --------- ---- ---------- none 8167564 4 8167560 1% /mnt/wsl none 498723140 443586308 55136832 89% /usr/lib/wsl/drivers none 8167564 0 8167564 0% /usr/lib/wsl/lib /dev/sdc 263112772 27894640 221779976 12% / rootfs 8164316 1936 8162380 1% /init
Командлет позовляет указать где определяется строка заголовков или если ее нет просто брать табличные данные и превращать их в массив объектов.
PS> ls -l | select -First 5 | ConvertFrom-TextTable -Skip 1 -NoHeader | ft Property_01 Property_02 Property_03 Property_04 Property_05 Property_06 Property_07 Property_08 Property_09 ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- ----------- drwxr-xr-x 3 ihumster ihumster 4096 Aug 21 2022 aac-base drwxr-xr-x 3 ihumster ihumster 4096 Jul 20 23:48 ansible_collections drwxr-xr-x 7 ihumster ihumster 4096 Apr 30 15:43 ansible-module-vcloud-director drwxr-xr-x 3 ihumster docker 4096 Jun 14 2022 ansible-netbox-dev
Модуль еще находится в процессе разработки и если он вам понравился и пригодился, но вы нашли какую-либо ошибку, то оставить баг-репорт можно прямо в разделе Issues репозитория.