Как показать строку или номер строки в формате таблицы PowerShell - PullRequest
0 голосов
/ 29 мая 2020

Я бы хотел, чтобы данные, представленные таблицей формата, включали номер строки или строки элементов. Как я могу этого добиться?

some-command | фут

Line    Something       Else
----    ---------       ----
0       Item1           Property1
1       Item2           Property2

Ответы [ 3 ]

0 голосов
/ 31 мая 2020

Вы coiuld l oop через данные и добавляете дополнительное свойство Line к выходу, используя переменную счетчика.

Примерно так:

# demo data
$data = [PsCustomObject]@{'Something' = 'Item1'; 'Else' = 'Property1'},
        [PsCustomObject]@{'Something' = 'Item2'; 'Else' = 'Property2'},
        [PsCustomObject]@{'Something' = 'Item3'; 'Else' = 'Property3'}

$count = 0
$data | ForEach-Object {
    $_ |  Select-Object @{Name = 'Line'; Expression = {$count}}, *
    $count++
} | Format-Table -AutoSize

Выход:

Line Something Else     
---- --------- ----     
   0 Item1     Property1
   1 Item2     Property2
   2 Item3     Property3
0 голосов
/ 31 мая 2020

Вот мое мнение. Некоторые из моих процессов osx не имеют имени как обычный пользователь.

get-process | where name | 
  foreach { $line = 0 } { $line++; $_ } | 
  ft @{n='line';e={$line}}, name, id


line Name              Id
---- ----              --
   1 accountsd        368
   2 AirPlayUIAgent   508
   3 akd             2415
   4 AMPDeviceDiscov  412
   5 AppleSpell      1937

Возьмите два:

ps | where name | select -first 5 | 
  foreach { $line = 0 } { $_ | add-member -passthru line (++$line) } |
  select line,name,id


line Name              Id
---- ----              --
   1 accountsd        368
   2 AirPlayUIAgent   508
   3 akd             2415
   4 AMPDeviceDiscov  412
   5 AppleSpell      1937
0 голосов
/ 29 мая 2020

Я думаю, вы выглядите примерно так:

[ref]$id = 0 ; @( @{ youritems='a' }, @{ youritems='b' }, @{ youritems='c' }) |ForEach-Object{ new-object PSObject -Property $_ } | Format-Table @{ n="SerialNumber"; e={ "{0}" -f ++$id.value }; a="left" },youritems

Результат будет:

SerialNumber youritems
------------- ---------
1             a        
2             b        
3             c      
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...