【Linuxコマンド】sortでテキストの行を並び替える方法

Linuxではテキストファイルに記述されている内容を行単位でソートする「sort」コマンドがあります。

ここでは「sort」コマンドについて以下の内容で解説していきます。

sort_jobun

この記事では「sort」コマンドについてわかりやすく解説していますので、ぜひ使い方を覚えておきましょう!

目次

sortコマンドとは

shutterstock_283275968

テキストファイルに記述されている内容を行単位でソートするには「sort」コマンドを使用します。

「sort」コマンドを実行すれば、簡単にファイルをソート順に並び替えた結果を確認できるので非常に便利です。

・sortコマンドの書き方

$ sort ファイル名

sortコマンドの使い方

ここでは「sort」コマンドの使い方を見ていきましょう。

テキストの値を並び替える

data.txtの以下の内容のファイルを用意します。

【data.txt】
10
50
30
100
20

 
このファイルをソートするには以下のように実行します。

$ sort data.txt

実行結果:
sort_image01

テキストファイルに記述されている値が昇順でソートさていますね!

注意点として「sort」コマンドは数値の小さい順に並び替えるのではなく、辞書や目次のように1文字目の数字の小さい順に並べ替えを行います。

また、以下のように文字列のテキストを並び替えることもできます。

【str.txt】
AAAA
BBBB
DDDD
EEEE
CCCC

 

$ sort str.txt

実行結果:
sort_image02

文字列の場合はアルファベット順にソートされていることがわかりますね!

結果をファイルに出力する

「sort」コマンドはファイルをソートした結果を表示しますが、ソートされた内容がファイルに反映されるわけではありません。

もし、ソートした結果をファイルに出力したい場合はリダイレクト「>」を使用すると便利です。

リダイレクトする場合は以下のように実行します。

$ sort ファイル名 > 出力ファイル名

以下ではdate.txtのソート結果をout.txtの名前でリダイレクトしています。

$ sort data.txt > out.txt

作成されたout.txtを確認すると、ソートされた結果が出力されていることがわかります。

sortコマンドのオプション

「sort」コマンドで使用する主なオプションです。

オプション説明
-f大文字小文字の区別をしない
-n数値を並び替える
-r降順で並び替える
-kソートキーを指定する
-u重複した行はソートしない
-t区切り文字を指定

便利な使い方

-nで数値を並び替える

数値の1文字目ではなく、数値の値で並び替えを行いたい場合は「-n」を使用します。

「-n」を使用すれば、1、20、50、100のように降順でソートされます。

以下ではdate.txtに記述されている数値を降順で並び替えています。

$ sort -n data.txt

実行結果:
sort_image03

-rで降順で並び替える

昇順ではなく降順(大きい順)に並び替えたい場合は「-r」を使用します。

以下ではdate.txtに記述されている数値を降順で並び替えています。

$ sort -r data.txt

実行結果:
sort_image04

また、降順で数値の大きい順に並び替えたい場合は「-rn」を使用します。

$ sort -rn data.txt

-k、-tでキーを指定して並び替える

ファイルに記述されているキーを指定してソートを行いたい場合は、「-k」「-t」を指定します。

例えば以下のfruits.txtの「:」で区切られている2番目の項目を元に降順で並び替えを行いたい場合があるとします。

【fruits.txt】
apple:100
orange:80
melon:500
banana:150

「:」で区切られた2番目の数値を並べ替えるには次のコマンドを実行します。

$ sort -n -k 2 -t : fruits.txt

実行結果
sort_image05

Linuxについてもっと知りたい方へ

そもそもLinuxについて、

「実はなんとなくしか理解していない…」
「Linuxを効率よく学習する方法が知りたい」

といった情報を知りたい方は、以下の記事も参考にしてみてくださいね!



まとめ

ここでは、Linuxでファイルの内容をソートする「sort」コマンドについて、

  • sortコマンドとは
  • sortコマンドの使い方
  • sortコマンドのオプションと使い方

などについて解説しました。

「sort」コマンドはファイルの内容を並び替えるのに非常に便利なコマンドですのでこの機会に使い方をよく理解しておきましょう。

もし「sort」コマンドの使い方を忘れてしまったら、この記事を参考にしてくださいね。

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次