SORT(行の並べ替え)

にメンテナンス済み

名簿やログ、dir の出力などを「名前順に並べ替えたい」と思ったことはないでしょうか。表計算ソフトを開かなくても、コマンドプロンプトだけで行単位の並べ替えができます。

SORT コマンドは、テキストの各行を並べ替えて表示するコマンドです。ファイルの内容だけでなく、パイプで受け取ったほかのコマンドの出力も並べ替えられます。

基本的な使い方

SORT コマンドの構文は次の通りです。

SORT [オプション] [ファイル名]

たとえば、次のような fruits.txt があるとします。

banana
Cherry
apple

ファイル名を指定して実行すると、各行が昇順に並べ替えられて表示されます。

- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>sort fruits.txt
apple
banana
Cherry
C:\users\user>
元のファイルは変更されません

SORT は並べ替えた結果を画面に出力するだけで、fruits.txt 自体は書き換えません。結果を保存する方法は後述します。

大文字と小文字は区別されません

既定では、大文字と小文字は区別せずに並べ替えられます。上の例でも、大文字で始まる Cherry が banana の後ろに並んでいます。

PowerShell では sort.exe と入力します

PowerShell では sort が Sort-Object のエイリアスになっているため、この記事のコマンドは同じようには動作しません。PowerShell から使う場合は sort.exe と入力してください。

パイプで出力を並べ替える

ファイル名を省略すると、SORT は標準入力から受け取ったテキストを並べ替えます。パイプ(|)と組み合わせれば、ほかのコマンドの出力を並べ替えられます。

- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>dir /b | sort
おすすめ書籍※ 広告を含む場合があります
中小企業経営者のためのRPA入門 RPA導入を成功させる方法

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超入門

60分でわかる! AIエージェント 超入門

コマンドラインの黒い画面が怖いんです。

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門

dir /b で取得したファイル名の一覧が、名前順に並べ替えられます。

同じように、ファイルを type で読み込んで渡すこともできます。

- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>type fruits.txt | sort

また、入力リダイレクトでファイルを渡す方法もあります。

- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>sort < fruits.txt

SORT コマンドのオプション

よく使うオプションは次の通りです。

オプション説明
/R降順(逆順)に並べ替える
/+nn 文字目から比較して並べ替える
/O ファイル並べ替えた結果を指定したファイルに出力する
/L ロケール並べ替えに使うロケールを指定する(実質的に "C" のみ有効)
/M キロバイト並べ替えに使うメインメモリの量を KB 単位で指定する
/REC 文字数1行の最大文字数を指定する(既定は 4,096、最大は 65,535)
/T パス作業用の一時ファイルを置くフォルダを指定する

/R - 降順に並べ替える

/R を付けると、逆順(降順)になります。

- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>sort /R fruits.txt
Cherry
banana
apple
C:\users\user>

/+n - 列の位置を指定して並べ替える

既定では行の先頭から比較しますが、/+n を付けると n 文字目から比較します。固定幅で書かれたデータを、途中の項目で並べ替えたいときに便利です。

Tanaka  85
Suzuki  92
Sato    78

名前は8文字幅に揃えてあるので、点数は9文字目から始まります。

- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>sort /+9 scores.txt
Sato 78
Tanaka 85
Suzuki 92
C:\users\user>

点数の昇順に並びました。降順にしたい場合は /R を併用します。

- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>sort /+9 /R scores.txt
n 文字より短い行は先頭に並びます

/+n を指定したとき、n 文字に満たない短い行は、ほかのすべての行より前に並べられます。空行もこれに含まれます。

/L C - 文字コード順に並べ替える

/L C を指定すると、ロケールに依存せず、文字コードの値そのままの順序で並べ替えます。この場合は大文字と小文字が区別され、大文字が小文字より前に並びます(Cherry が先頭になります)。

- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>sort /L C fruits.txt
Cherry
apple
banana
C:\users\user>

並べ替えた結果をファイルに保存する

結果をファイルに保存するには、/O オプションで出力先を指定します。

- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>sort fruits.txt /O sorted.txt

もちろん、リダイレクト(>)でも保存できます。

- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>sort fruits.txt > sorted.txt
元のファイルへ直接リダイレクトしないでください

sort fruits.txt > fruits.txt のように、入力と同じファイルへリダイレクトすると、SORT が読み込む前に fruits.txt が空にされてしまい、内容が失われます。並べ替えた結果は、別のファイルに出力してください。

数字は文字として並べ替えられる

SORT は、数字も「文字」として1文字ずつ比較します。そのため、数値の大小どおりには並びません。

10
2
33
1
- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>sort numbers.txt
1
10
2
33
C:\users\user>

10 が 2 より前に来ているのは、先頭の文字 1 が 2 より小さいためです。数値の順に並べたい場合は、桁数を揃えて、先頭を 0 で埋めておく方法があります。

10
02
33
01
- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>sort numbers.txt
01
02
10
33
C:\users\user>
数値として並べ替えたいときは PowerShell も選択肢です

数値の大小で並べ替えたい場合は、PowerShell の Sort-Object を使うと、型を指定して数値として並べ替えられます。

実践例

ログから抽出した行を並べ替える

findstr で抽出した行を、並べ替えて確認できます。

- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>findstr "ERROR" app.log | sort

実行中のプロセスを名前順に表示する

tasklist の出力を名前順に並べ替えます。/nh はヘッダー行を省略するオプションです。

- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>tasklist /nh | sort

長い結果を1画面ずつ確認する

並べ替えた結果が長い場合は、more と組み合わせると便利です。

- □ ×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2026 Ribbit App Development All rights reserved.
 
C:\users\user>dir /b | sort /R | more
文字コードに注意

SORT はコンソールの文字コード(コードページ)に従ってテキストを読み込みます。UTF-8 で保存されたファイルなどを渡すと、日本語が文字化けしたり、期待した順序にならなかったりすることがあります。詳しくは関連記事の文字コードの解説を参照してください。

まとめ

やりたいことコマンド
昇順に並べ替えるsort ファイル名
降順に並べ替えるsort /R ファイル名
出力を並べ替えるコマンド | sort
途中の列から並べ替えるsort /+n ファイル名
結果をファイルに保存するsort ファイル名 /O 出力先
文字コード順に並べ替えるsort /L C ファイル名

関連記事

練習問題

練習問題

data.txt の各行を降順に並べ替えて表示するコマンドはどれでしょうか?

回答がサーバーに送信されることはありません
練習問題

1行に1つずつ 10、2、33、1 と書かれたファイルを、オプションなしの sort で並べ替えた結果はどれでしょうか?

回答がサーバーに送信されることはありません
練習問題

sort fruits.txt > fruits.txt を実行すると、どうなるでしょうか?

回答がサーバーに送信されることはありません
#コマンドプロンプト #バッチファイル #SORT #コマンド #テキスト処理