gpt4 book ai didi

powershell - 使用Powershell读取文本文件

转载 作者:行者123 更新时间:2023-12-03 00:30:20 25 4
gpt4 key购买 nike

我有一个这种格式的文本文件:

服务器名称:srvrX1
IP:
地点:纽约
作业系统:

服务器名称:srvrX2
IP:
地点:纽约
操作系统:Windows Server 2012
XYZ:

服务器名称:srvrX3
IP:
地点:STK
操作系统:Win2k3

服务器名称:srvrX4
IP:
地点:STK
作业系统:Win2k8

服务器名称:srvrX5
IP:
地点:STK
操作系统:RedHat Linux 5

服务器名称:srvrX6
IP:
位置:TKY
操作系统:Windows Server 2012

每个服务器的字段数可能有所不同,每个服务器信息之间的空行数是randm。我想要表格格式的输出。我是Powershell的新手,请有人帮忙。

非常感谢。
内尔

最佳答案

您可以在两个或多个换行符上分割内容,然后再次分割每个返回的元素,解析内容并为每个元素创建新对象:

$content = Get-Content .\test.txt | Out-String

$content -split '(?:\r\n){2,}' | Foreach-Object{

$pso = New-Object PSObject

$_ -split '(?:\r\n)' | Where-Object {$_} | ForEach-Object{

$var = $_ -split ':'
$pso | Add-Member -MemberType NoteProperty -Name $var[0].Trim() -Value $var[1].Trim()
}

$pso

}


ServerName IP Location OS
---------- -- -------- --
srvrX1 NY
srvrX2 NY Windows Server 2012
srvrX3 STK Win2k3
srvrX4 STK Win2k8
srvrX5 STK RedHat Linux 5
srvrX6 TKY Windows Server 2012

关于powershell - 使用Powershell读取文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18716939/

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