PowerShell sort-object命令

PowerShell sort-object命令

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将列表按升序排序。


目录