PowerShell sort-object命令可根据属性值对对象进行排序。可以按单个或多个属性对对象进行排序。 各种属性使用哈希表对对象进行升序或降序排序。
示例1
Sort-Object [-Stable] [-Descending] [-Unique] [-InputObject <PSObject>] [[-Property] <Object[]>] [-Culture <String>] [-CaseSensitive] [<CommonParameters>]
示例2
Sort-Object [-Descending] [-Unique] -Top <Int32> [-InputObject <PSObject>] [[-Property] <Object[]>] [-Culture <String>] [-CaseSensitive] [<CommonParameters>]
示例3
Sort-Object [-Descending] [-Unique] -Bottom <Int32> [-InputObject <PSObject>] [[-Property] <Object[]>] [-Culture <String>] [-CaseSensitive] [<CommonParameters>]
-Stable - 在PowerShell版本6.2.0中引入了此参数。当排序标准相等时,已排序的对象将按照接收顺序进行分配。
-Descending - 此参数用于按降序对对象进行排序。
-Unique - 在排序对象cmdlet中使用此参数以消除重复项,并仅返回集合的唯一成员。此参数不区分大小写。
-InputObject - 使用此参数时,sort-object
仅接收一个表示集合的对象。
-Property - 此参数指定sort-object cmdlet用于对对象进行排序的属性的名称。在此参数中,接受通配符。如果未在cmdlet中指定属性,则它将基于对象类型的默认属性进行排序。
-Culture - 此参数指定文化配置,用于对对象进行排序。
-CaseSensitive - 此cmdlet中使用此参数表示排序区分大小写。默认情况下,它们不区分大小写。
示例1: 在此示例中,键入以下命令以根据名称对当前目录中的文件和文件夹进行排序:
PS C:\> get-childitem | sort-object
在此命令中,get-childItem
从当前目录获取文件和子目录。 然后,将对象发送到Sort-object cmdlet。结果如下:
示例2: 在此示例中,键入以下命令以根据长度对当前目录中的文件和文件夹进行排序:
PS C:\> get-childitem | sort-object -Property Length
在此命令中,Sort-Object
cmdlet使用Length
参数按长度升序对文件和目录进行排序。 文件或子目录具有最大长度,该长度显示在末尾。结果如下:
示例3: 在此示例中,键入以下命令以基于Id对PowerShell会话的历史记录信息进行排序:
PS C:\> get-history | sort-object -Property ID -Descending
在此命令中,Get-History
cmdlet用于从当前PowerShell会话获取历史记录对象。 这些对象将向下发送到Sort-Object
cmdlet。 Sort-Object
cmdlet使用Property参数按ID对对象进行排序。 -Descending
参数对命令历史记录进行排序。
示例4: 在此示例中,键入以下命令以对文本文件中的名称进行排序。
PS C:\> Get-Content -Path D:\Powershell\S.txt | Sort-Object
在此命令中,Get-Content
cmdlet使用-Path
参数指定文件和目录名称。 文件S.txt
包含未分类的学生姓名列表。 这些对象将发送到Sort-Object cmdlet。 默认情况下,sort-Object cmdlet将列表按升序排序。