从零开始学PowerShell(4)数据的选择、排序与格式化
上一篇我們已經學會了如何通過自定義篩選條件來過濾我們想要的信息,在PowerShell中除了通過自定義篩選條件來過濾信息外,我們還可以直接使用Select-Object命令來選擇我們指定的信息欄并用Sort-Object命令對羅列的信息排序。
假設,我們有一個小需求場景需要查看所有當前系統里的進程,但條件是進程的Id號大于1000以內的前十個進程信息名,并且Id號需要從大到小排列,該怎么做呢?這里我先貼上代碼。
Get-Process | Where-Object {$_.Id -gt 1000} | Select-Object -Property Id, ProcessName -First 10 | Sort-Object -Property Id -Descending你可以看到也只需一行命令就輸出了我們想要的信息,輸出了一共十個命令,并且Id值是從大到小排序,沒錯,這就是我們想要的。
現在讓我們仔細看看,這行命令具體在做什么,我想在Select-Object之前的命令不需要解釋了,正是上一篇我們所講的如何自定義先決篩選條件來過濾我們的信息。而之后的Select-Object 所做的事就是直接羅列我們想輸出的信息欄位,所以使用了Select-Object -Property Id, ProcessName 指明我們只想獲得Id與ProcessName兩列信息。因為我們還要求羅列出前十個進程信息,所以這里只需要配合參數-First 10就可以輸出從頭開始的十條信息。最后我們使用了Sort-Object命令配合-Property參數指明我們想排序哪一列即可,由于Sort-Object命令默認是按照順序的序列排序的,所以我們加上了-Descending參數要求排序以倒序的方式排序。
讓我們再來進一步深化之前的需求場景,如果我們想把我們的排版信息做一些調整呢?基于這種情況,就可以使用PowerShell的格式化命令來輸出我們的信息。PowerShell的格式化命令主要包括Format-Wide、Format-List、 Format-Table 和 Format-Custom, 這里我說下常用的兩個Format-List、 Format-Table
Format-List命令可以把對象信息以列表的形式展現出來。一般當我們考慮把信息以列表的形式展現的時候使用,如果你配合-Property *參數使用會顯示出所有輸出對象能顯示的所有信息列表。
Format-Table命令可以把對象信息以表單的形式展現,同時還支持配合一些特定參數來動態調整表單樣式。這里我們要提到的一個參數是-AutoSize,為了更好的展現用了-AutoSize參數的區別,我們將Select-Object后的指定屬性欄給刪除以此來羅列出所有的信息欄,你可以發現配合了AutoSize參數后表單變的更加緊湊了,表單的寬度都是自動設置的。
總結
以上是生活随笔為你收集整理的从零开始学PowerShell(4)数据的选择、排序与格式化的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 绕过token
- 下一篇: Hadoop未授权访问漏洞记录(影响版本