我正在使用 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"}}
Run Code Online (Sandbox Code Playgroud)
多个选项,假设$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
}
Run Code Online (Sandbox Code Playgroud)
如果$output是多行字符串,请-split首先使用正则表达式运算符按换行符进行拆分:
$output -split '\r?\n' |Select -Last 1
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3173 次 |
| 最近记录: |