chaiyi 2008-3-11 23:50
powershell学习之sort-object
好久没来这版发贴了,前段时间忙着学别的 所以就没学习powershell 这版块看到人气不旺啊 嘻 言归正传 进入主题 .
首先说下 这都是我在网上看了资料加自已实践 在发出来 有不对之处希望大家指出一起学习
什么是sort-object了 看了以前的了的关于powershell主题的贴子的应该 注意到了
在第一篇里面就有个例子是这样的 get-process | sort ws
sort-object 根据对象属性值进行排序 这里说下 powershell 最大的好处就是提供get-help 来获得有关cmdlet的帮助信息
你可以 打入help sort-object 来获得这参数的相关信息
语法
sort-object [[-property]<object[]>] [-inputobject <psobject>] [-culture<string>] [-casesensitive] [-unique] [-descending] [<commonparameters>]
就是这么多了 里面有些参数我也不知道意思 我就敢我知道说吧
详细描述
根据对象属性值进行排序. 你通过参数Property指定一个或多个属性用于排序. 如果指定了多个属性, 对象首先根据第一个指定的属性进行排序. 如果此时存在有多个对象在第一个排序属性上有相同的值(译者注: 在排序属性上具有相同值的对象构成组group.), 则使用额外的属性继续进行排序. 这种情况下, 这些组使用第二个指定的排序属性继续排序. 这个过程一直持续到指定的属性都被处理完或者没有还能分组的对象.
还是多搞几个例子吧 这样清楚点
例子
此命令获得当前目录下的子目录和文件 加上这个参数后可以 按照length也就是长度来排序
1. get-child 2. get-childitem | sort-object -property length
[attach]203255[/attach] [attach]203261[/attach]
3. get-childitem | sort-object -property lastwritetime 加上这个后就是按照 lastwritetime排序
[attach]203257[/attach]
你也可以试下别的命令 比如get-process 后面加上管道符“|”在跟上sort
他的默认的排序是升序 等下我讲下降序的排列
4. get-history 5. get-history | sort-object -descending
此命令是显示我打入的命令显示出来
[attach]203258[/attach] [attach]203259[/attach] 看到没有有什么变化对了这个降序
最后一个难点
get-process | sort-object -property cpu | select-object -last 5
[attach]203260[/attach]
此命令首先是用get-process cmdlet获得进行所有列表传递给sort-object, 根据工作集属性进行排序(cpu). 结果通过管道传递给select-object显示最后5个占cpu最大的
最后提一点就是sort-object 如果没有指定参数CaseSensitive, 则排序的比较操作会忽略大小写的差异 反之
[[i] 本帖最后由 chaiyi 于 2008-3-11 23:53 编辑 [/i]]