Sort-Object 帮助信息

 
如下说明是翻译 : help Sort-Object 产生的帮助信息 .
译者 : Edengundam( 马涛 )
 
Sort-Object
 
大纲
根据对象属性值进行排序 .
 
语法
Sort-Object [[-property] <Object[]>] [-inputObject <psobject>] [-culture <string>] [-caseSensitive] [-unique] [-descending] [<CommonParameters>]
 
详细描述
根据对象属性值进行排序 . 你通过参数 Property 指定一个或多个属性用于排序 . 如果指定了多个属性 , 对象首先根据第一个指定的属性进行排序 . 如果此时存在有多个对象在第一个排序属性上有相同的值 ( 译者注 : 在排序属性上具有相同值的对象构成组 group.), 则使用额外的属性继续进行排序 . 这种情况下 , 这些组使用第二个指定的排序属性继续排序 . 这个过程一直持续到指定的属性都被处理完或者没有还能分组的对象 .
 
如果没有指定参数 CaseSensitive, 则排序的比较操作会忽略大小写的差异 . 通过指定参数 Descending 可以改变此 cmdlet 默认按照升序排列的行为 . 参数 Descending 被应用在所有排序属性上 . 如果需要对某些属性进行升序排列 , 某些属性进行降序排列 , 你必须向下面例子一样 , 通过哈希表 (hashtable) 指定他们的属性值 :
 
@{expression={$_.PropName},Descending=$true}.
 
指定这个哈希表作为属性值 , 将使此 cmdlet 根据 PropName 属性进行降序排序 .
 
如果指定了对象上不存在的属性 , 则此对象的属性被命令解释为 NULL . 无论该对象的类型是什么 , NULL 值的对象将被排在所有排序对象的后面 .
 
如果没有指定任何的排序属性 , 此命令将会根据被排序对象的类型选择默认的排序方法进行排序 .
 
参数
 
-property <Object[]>
指定用于排序的一个或多个属性 . 此参数的值可以使类似如下形式 : @{Expression={$_.PropName}; Ascending=$false} @{Expression={$_.PropName}; Ascending=$true} 的哈希表 , 此方法允许你根据脚本块的结果进行排序 , 还能让你为每个属性指定不同的排序顺序 .
 
强制参数 ?
false
参数位置 ?
1
默认值
entire input objects
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-inputObject <psobject>
指定被排序的对象 . 你既可以通过此参数 , 也可以通过管道向此命令传递对象 .
 
强制参数 ?
false
参数位置 ?
named
默认值
 
允许从管道绑定输入 ?
true ( 根据值 )
允许通配符扩展 ?
false
 
-culture <string>
指定排序时使用的文化 ( 译者注 : 单词 culture 我没有找到很合适的翻译 , 一般 culture 带有地域性 , 也就和语言文字息息相关 . 每个地区因为文化差异 , 因此对于各种字符 , 符号的排序规则也有不同 , 因此使用不同文化对相同信息进行排序 , 可能产生不同结果 . 在操作系统中 , 一般就是系统语言设置 . ).
 
强制参数 ?
false
参数位置 ?
named
默认值
Current Culture
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-caseSensitive <SwitchParameter>
指出排序是否考虑大小写 .
 
强制参数 ?
false
参数位置 ?
named
默认值
False
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-unique <SwitchParameter>
过滤掉排序属性重复的项 ( 译者注 : 既每个组中只保留一个对象 , 因为不是稳定排序 , 因此保留对象是不确定的 ).
 
强制参数 ?
false
参数位置 ?
named
默认值
False
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
-descending <SwitchParameter>
降序排列排序结果 .
 
强制参数 ?
false
参数位置 ?
named
默认值
False
允许从管道绑定输入 ?
false
允许通配符扩展 ?
false
 
< 公共参数 >
此命令支持公共参数 : -Verbose, -Debug, -ErrorAction, -ErrorVariable, and -OutVariable. 更多信息 , 输入 , "get-help about_commonparameters".
 
输入类型
Object
 
返回类型
被排序的对象
 
注意
 
排序对象在组中的顺序不一定和输入时顺序一致 .
 
当对输入待排序对象进行比较时 , 此命令试图调用每个排序属性上的比较方法 . 如果该属性没有实现接口 IComparable, 此命令将会把该值转化为字符串 , 并使用 System.String Compare 方法进行比较 .
 
更多信息 , 输入 "Get-Help Sort-Object  -detailed". 需要技术信息 , 输入 "Get-Help Sort-Object -full".
 
如果需要为该命令提供多个参数 , 请使用逗号进行分隔 . 例如 , "<parameter-name> <value1>, <value2>".
 
1
 
C:/PS>get-childitem | sort-object
 
此命令获得当前目录下的子目录和文件 . 调用 sort-object cmdlet 而没有提供任何参数时 , 此命令按照名称的字母表顺序显示结果 .
 
 
Directory: Microsoft.Management.Automation.Core/FileSystem::C:/Ps
 
Mode  LastWriteTime          Length Name
-----  ------------          ------ ----
-a--- 9/13/2005   4:24 PM    0 0
-a---  9/6/2005   4:19 PM    12     a.csv
-a--- 9/21/2005   3:49 PM    529    a.Ps
-a--- 8/22/2005   4:14 PM    22     a.pl
-a--- 9/27/2005  10:33 AM    24     a.txt
-a--- 9/15/2005  10:31 AM    398    a.vbs
-a--- 7/21/2005  12:39 PM    37066  a.xml
-a--- 8/28/2005  11:30 PM    5412   a.xslt
-a---10/25/2005   1:59 PM    125    AdamTravel.txt
-a--- 7/21/2005   9:49 AM    59     add2Num.Ps
-a--- 8/29/2005   5:42 PM    7111   add-content.xml
-a--- 9/21/2005  12:46 PM    8771   aliens.Ps
-a--- 8/10/2005   2:10 PM    798    array.xml
-a---  8/4/2004   5:00 AM    110    AUTORUN.INF
-a---  9/6/2005   4:20 PM    245    b.csv
 
2
 
C:/PS>get-childitem | sort-object -property length
 
此命令按照文件长度升序排列显示当前目录中的文件 ( 译者注 : 目录没有该属性 , 进行排序时被设置为 NULL, 排列在输出结果的最后 .).
 
Mode  LastWriteTime          Length    Name
----- ------------           ------    ----
-a---  8/17/2005   9:34 AM   0         gps.txt
-a---  9/13/2005   4:24 PM   0         0
-a---  8/4/2004    5:00 AM   10        WIN51
-a---  8/4/2004    5:00 AM   10        WIN51IP
-a---  8/4/2004    5:00 AM   10        WIN51IP.SP2
-a---  9/6/2005    4:19 PM   12        a.csv
-a--- 12/10/2005   6:04 PM   22        testfile1.txt
-a--- 12/10/2005   6:04 PM   22        test1.txt
...
 
3
 
C:/PS>get-process | sort-object -property WS | select-object -last 5
 
此命令首先是用 get-process cmdlet 获得进行所有列表传递给 sort-object, 根据工作集属性进行排序 (WS). 结果通过管道传递给 select-object 显示最后 5 个进程 . 由于 sort-object returns 返回升序排列的列表 , 因此得出占用最多内存的进程 . 默然显示使用为表格格式 .
 
Handles  NPM(K)PM(K)  WS(K)   VS(M)   CPU(s)    Id    ProcessName
-------  -----------  -----   -----   ------    --    -----------
   2754  19526748     38960   182     129.48   1292   svchost
    773  1925108      41604   136     161.38   2956   explorer
    557  1723864      50600   256      49.63   4388   WINWORD
   1581  6781720      66332   450   1,563.48   3868   INFOPATH
    921  1375112      78928   205      46.84    676   Ps
 
4
 
C:/PS>get-history | sort-object -descending
 
此命令对 HistoryInfo 对象上的默认键值 id 属性进行降序排序 .
 
Id CommandLine
-- -----------
51 get-history | sort -descending
50 get-history | sort -descending
49 get-history | sort -descending
48 get-history | sort -descending
47 get-history | sort -descending
46 get-history | sort -descending
45 get-history | sort -descending
44 cd /monad
43 get-childitem | sort-object
42 gci *.txt | Sort-Object @{Expression={$_.LastWriteTime-$_.CreationT...
 
5
 
C:/PS>get-childitem *.txt | sort-object @{Expression={$_.LastWriteTime-$_.CreationTime}; Ascending=$false} | select-object LastWriteTime, CreationTime
 
此命令按照文件最后写时间到文件创建时间的时间跨度降序对文本文件进行排序 .
 
LastWriteTime            CreationTime
-------------            ------------
2/21/2006 10:22:20 AM    10/3/2005 4:19:40 PM
2/27/2006 8:14:24 AM     2/23/2006 10:41:08 PM
2/24/2006 1:26:19 PM     2/23/2006 11:23:36 PM
1/5/2006 12:01:35 PM     1/5/2006 11:35:30 AM
2/24/2006 9:25:40 AM     2/24/2006 9:22:24 AM
2/24/2006 9:40:01 AM     2/24/2006 9:39:41 AM
2/21/2006 10:21:30 AM    2/21/2006 10:21:30 AM
 
相关链接
Get-Unique
Compare-Object
ForEach-Object
Group-Object
Measure-Object
New-Object
Select-Object
Tee-Object
Where-Object
 
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值