私はまだ Powershell を使い始めたばかりです。文字列をPowerShellに適したオブジェクトに変換する方法に頭を悩ませています(Powershellプロパティ名と各プロパティ名のそれぞれの値、またはそれが複雑すぎる場合は2次元配列グリッドに変換されます)。理想的には、将来どちらの方法でも実行できるように、それぞれの方法がどのように実装されているかを確認することを気にしません。とにかく、ここに以下の文字列があります:
$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を使用して) 1 次元配列のみを実行することはほとんどできませんでした。残念ながら、その方法を使用すると、配列に空の項目が発生しました。また、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プロパティや2次元配列に変換する方法を示す専門家のソリューションが本当に欲しいです。前もって感謝します!