Извлечь последнюю строку массива в Powershell - PullRequest
0 голосов
/ 25 октября 2019

Я использую Powershell для извлечения данных через API. По какой-то причине выходные данные предоставляют несколько строк данных, однако меня интересует только последняя строка.

Как мне обрезать или отфильтровать массив, чтобы он отображал только строку, например {"preview":false...

После того, как у меня будет последняя строка, я собираюсь перевести ее в хеш-таблицу, используя ConvertFrom-Json

Любой совет будет высоко ценится!

$output
{"preview":true,"offset":0,"lastrow":true,"result":{"TotalSuccess":"1152091","TotalUnsuccessful":"13759","Total":"1165850","Unsuccessful%":"6.80"}}
{"preview":true,"offset":0,"lastrow":true,"result":{"TotalSuccess":"1204330","TotalUnsuccessful":"14265","Total":"1218595","Unsuccessful%":"6.76"}}
{"preview":true,"offset":0,"lastrow":true,"result":{"TotalSuccess":"1233151","TotalUnsuccessful":"14500","Total":"1247651","Unsuccessful%":"6.75"}}
{"preview":true,"offset":0,"lastrow":true,"result":{"TotalSuccess":"1249102","TotalUnsuccessful":"14714","Total":"1263816","Unsuccessful%":"6.76"}}
{"preview":true,"offset":0,"lastrow":true,"result":{"TotalSuccess":"1262812","TotalUnsuccessful":"14794","Total":"1277606","Unsuccessful%":"6.73"}}
{"preview":false,"offset":0,"lastrow":true,"result":{"TotalSuccess":"1271004","TotalUnsuccessful":"14873","Total":"1285877","Unsuccessful%":"6.73"}}

1 Ответ

1 голос
/ 25 октября 2019

Несколько опций, при условии, что $output является массивом или аналогичным перечисляемым набором вещей:

# using `Select-Object`:
$output |Select -Last1

# using array index
$output[$output.Length - 1]

# using negative array index
$output[-1]

# iterate over collection until you reach the end:
$last = $null
foreach($item in $output){
    $last = $item
}

Если $output является многострочной строкой, используйте оператор регулярного выражения -split для разделениясначала на новых строках:

$output -split '\r?\n' |Select -Last 1
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...