學習 powershell,試著找出如何解析此結果集中的第一個值:
IPAddresses
-----------
{10.60.50.40, fe80::5ddf:a8f4:e29c:b66}
通常我只會查找它,但是,我不知道 {x, x} 是否是陸地上的標準資料類型Powershell
。
我是否必須進行粗略的字串解析,或者是否有一些標準命令來提取第一個字串,例如:
... | Select-Object IPAddresses | Select-String [0]
(我剛剛完成了選擇字串部分。我迷路了。)
答案1
這是我到目前為止所擁有的:
... Select-Object IPAddresses | ForEach {$_.IPAddresses}[0]
返回第一個。
答案2
試試這樣:
$myResultSet | foreach { $_.IPAddresses[0] }
答案3
嘗試
$myResultSet | Select-Object -First 1 IPAddress
您的結果集是某種類型的集合。該Select-Object
cmdlet 取得該集合中的第一項,然後過濾到僅IPAddress
顯示的屬性。
在我的機器上,上述命令的輸出如下所示。您的地址可能會有所不同,因為回傳的地址會有所不同
IPAddress
---------
fe80::5581:4fbc:fc22:ec79%13
您將獲得該表,因為預設情況下 PowerShell 會透過輸出Format-Table
進行良好的顯示。
要僅存取 IP 位址本身,您可以稍微修改表達式:
$myResultSet.IPAddress|Select-Object -First 1
或者,透過使用點表示法和集合索引,您可以Select-Object
完全避免使用,如下所示:
$myResultSet[0].IPAddress
上面直接引用了集合IPAddress
中第一項的屬性$myResultSet
,它的索引為零,因此$myResultSet[0]
其中任何一個只會傳回 IP 位址本身,如下所示:
fe80::5581:4fbc:fc22:ec79%13