从零开始学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参数后表单变的更加紧凑了,表单的宽度都是自动设置的。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值