HOME > Object系コマンドレット > Sort-Object
Sort-Object
Sort-Objectは、オブジェクトをソートするコマンドです。
エイリアスsort
解説
オブジェクトのコレクションを指定されたプロパティに基づいて並べ替えます。
構文
- (構文)
- Sort-Object [[-Property] <Object[]>] [<CommonParameters>]
パラメータ | 説明 |
---|---|
-Descending | オブジェクトを降順にする ※デフォルトは昇順 (例)Sort-Object -Property Age -Descending |
-Unique | 重複するオブジェクトを除外し一意のオブジェクトのみを返す (例)Sort-Object -Property Name -Unique |
-InputObject オブジェクト | パイプライン入力を使用せずに、オブジェクトのコレクションを直接指定する (例)Sort-Object -InputObject $array -Property Name |
-Property プロパティ | 並べ替えに使用するプロパティ名を指定する ※複数のプロパティをコンマで区切って指定可 (例)Sort-Object -Property Name, Age |
-Culture カルチャ | 並べ替えに使用するカルチャを指定する ※デフォルトは現在のカルチャ (例)Sort-Object -Property Name -Culture "en-US" |
-CaseSensitive | 大文字と小文字を区別して並べ替える (例)Sort-Object -Property Name -CaseSensitive |
共通的なパラメータは「共通パラメータ」をご覧ください。
サンプル
配列を並び替える
$array = 5, 3, 1, 4, 2
$sortedArray = $array | Sort-Object
Write-Output $sortedArray
(実行結果)
1
2
3
4
5
降順に並び替える
$sortedArray = $array | Sort-Object -Descending
オブジェクトのプロパティで並び替える
$objects = @(
[PSCustomObject]@{ Name = "Apple"; Price = 250 },
[PSCustomObject]@{ Name = "Orange"; Price = 80 },
[PSCustomObject]@{ Name = "Peach"; Price = 400 }
)
$sortedObjects = $objects | Sort-Object -Property Price
$sortedObjects | Format-Table -AutoSize
(実行結果)
Name Price
---- -----
Orange 80
Apple 250
Peach 400
オブジェクトの複数のプロパティで並び替えする
$sortedObjects = $objects | Sort-Object -Property Price, Name
数値としてソートする
Get-Process | Sort-Object {[int]$_.CPU}
コマンドのヘルプを表示する
Get-Help Sort-Object
備考
- デフォルトではNull値は他の値よりも小さいものとして扱われます。
- デフォルトではソートは大文字小文字を区別しません。
大文字小文字を区別したい場合は-CaseSensitiveパラメータを指定してください。
関連項目
- Object系コマンドレット
- New-Object:オブジェクトを作成する
- Compare-Object:オブジェクトを比較する
- Sort-Object:オブジェクトをソートする
- Select-Object:オブジェクトを選択する
- ForEach-Object:オブジェクトを順次処理する
- Where-Object:オブジェクトをプロパティ値で選択する
- Group-Object:オブジェクトをグルーピングする
- Measure-Object:オブジェクトを指定した条件で計算する
- Tee-Object:オブジェクト出力を分岐する