我还是 Powershell 的新手;并且无法将我的头转换为一种将字符串转换为对 powershell 友好的对象的方法(转换为 Powershell 属性名称和每个属性名称的相应值,或者,如果这太复杂,则转换为二维数组网格)。理想情况下,我不介意看看每种方式是如何实现的,这样我将来可以做任何一种方式。无论如何,这是下面的字符串:
$String =
" Port Name Status Vlan Duplex Speed Type
Fa1/0/1 Router 2 connected trunk full 100 10/100BaseTX
Fa1/0/2 User connected 101 full 100 10/100BaseTX
Fa1/0/3 User notconnect 101 full 100 10/100BaseTX
Fa1/0/4 Video VLAN connected 503 full 100 10/100BaseTX
Fa1/0/5 User notconnect 101 full 100 10/100BaseTX
"
由于我的 Powershell 脚本编写经验非常有限,我几乎不能只做一维数组(使用[regex]::split)。不幸的是,我使用该方法的方式导致数组中的项目为空;而且,它似乎没有像 string.split 那样的 [StringSplitOptions]"RemoveEmptyEntries" 功能。
type int.txt | %{$data = [regex]::split($_, '(\s\s)+')
Write-Output "$($data[0])`t$($data[1])`t$($data[2])`t$($data[3])`t$($data[4])`t$($data[5])`t$($data[6])`t$($data[7])"}
因此,我最终将一些不需要的空项分配给数组;输出如下:
Port Name Status
Fa1/0/1 Router 2 connected
Fa1/0/2 User connected
Fa1/0/3 User notconnect
Fa1/0/4 Video VLAN connected
Fa1/0/5 User notconnect
无论如何,我真的很想要一个专家的解决方案来演示如何将字符串转换为 Powershell 属性和/或二维数组。提前致谢!