gpt4 book ai didi

powershell - 变量内每行的Powershell

转载 作者:行者123 更新时间:2023-12-02 23:24:10 25 4
gpt4 key购买 nike

我试图逐行通过一个变量,并应用正则表达式来解析其中的字符串。

我正在通过invoke-restmethod下载数据,并尝试执行以下操作

$result= invoke-restmethod -uri $uri -method get

foreach($line in $result)
if($line -match $regex)
{
#parsing
}

上面的行不通,因为它们只是一行。但是,当我将结果输出到文件中,然后应用上述逻辑时,它就可以正常工作,就像这样
$result= invoke-restmethod -uri $uri -method get
$result >> $filelocation

$file = get-content $file
foreach($line in $file)
if($line -match $regex)
{
#parsing
}

该脚本是时间紧迫的,因此我没有足够的精力来写文件然后重新打开,如何在不使用get-content的情况下实现以上要求?

最佳答案

调用方法不是问题。以下内容完全符合您的要求。

$result = Invoke-RestMethod -Uri https://blogs.msdn.microsoft.com/powershell/feed/
$result | %{ Write-Host $_ }

我怀疑REST端点给您的是UNIX换行符,而不是Windows换行符。在UNIX中,新行是一个字符“lf”(换行)。在Windows中,换行符是'crlf'(回车,换行)。

尝试字符串分割方法
$result.Split("`n") | %{ Write-Host $_ }

或者,如果您更喜欢“foreach”语法
foreach ($line in $result.Split("`n")) {
Write-Host $line
}

[编辑:将“for”更改为“foreach”]

关于powershell - 变量内每行的Powershell,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41314532/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com