как получить строку из 2-х строкового вывода - PullRequest
0 голосов
/ 27 июня 2018

Мне нужно получить строку из вывода powershell. Мне нужно получить имя пакета
т.е. prompt-toolkit и использовать его в трубе ниже

> pip list --outdated
Package        Version Latest Type
-------------- ------- ------ -----
prompt-toolkit 1.0.15  2.0.3  wheel

список пунктов - устаревший | Where-Object {$ exclude -notcontains $ _} | ForEach {pip install -U $ _. Split ("") [0]}

UPDATE.
Модифицированный рабочий скрипт

    $(
    $exclude = 'virtualenv', 'prompt-toolkit'
    pip list --outdated --format=freeze  | ForEach{ $_.split("=")[0]} | Where-Object { $exclude -notcontains $_ } | ForEach { pip install -U $_ }                                    
    ) *>&1 >> Python_Modules_Updates_Log.txt

Ответы [ 2 ]

0 голосов
/ 27 июня 2018

Чтобы получить Packagenames из списка, вы можете использовать -ExpandProperty функцию Select-Object и передать ее команде установки:

pip list --outdated | Select-Object -ExpandProperty Package | Where-Object { $exclude -notcontains $_ } | ForEach { pip install -U $_}
0 голосов
/ 27 июня 2018

просто попробуйте

pip list --outdated | select-object -skip 2 | Where-Object { $exclude -notcontains $_ } | ForEach { pip install -U $_.split(" ")[0] }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...