我有一个小脚本,可以将文本输出到变量中.我需要逐行完成它才能解析它.我可以通过将变量输出到文本文件然后使用Get-Content读取它来做到这一点,但这看起来有点多余.
我的脚本连接到Fortigate单元并运行某个查询.它的回应是我要解析的内容.
New-SshSession 10.0.0.138 -Port 65432 -Credential (Get-Credential) -AcceptKey
$command = 'config router policy
show'
$result = Invoke-SSHCommand -Index 0 -Command $command
Run Code Online (Sandbox Code Playgroud)
小智 13
ForEach ($line in $($result -split "`r`n"))
{
Write-host $Line
}
Run Code Online (Sandbox Code Playgroud)
这是基于RegexMatch 的解决方案,这是 split 的默认行为。
这适用于所有类型的行结尾:
\r\n\r\n($result -split "\r?\n|\r") | Out-Host
Run Code Online (Sandbox Code Playgroud)
如果你想摆脱连续的换行符,你可以使用:
($result -split "[\r\n]+") | Out-Host
Run Code Online (Sandbox Code Playgroud)
根据您的描述,您的变量是带换行符的字符串.你可以通过调用它将它变成一个单行字符串数组:
$result = $result -split "`r`n"
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
20630 次 |
| 最近记录: |