Sortコマンド

提供: Astarisk Works Wiki

目次

基本の使い方

次の様に使うと引数に与えたテキストファイルの中身をソートする。

>sort [ファイル名]

次の様に複数のファイルを指定するとそれらのファイルをマージした上でソートする。

>sort [ファイル名1] [ファイル名2] .. [ファイル名n]

catコマンドの出力等をパイプすることもできる。

>cat [ファイル名] | sort


重複行を削除する

sortコマンドはテキストファイルの中身をソートするだけではなく、-uオプションを使うと重複行を削除してソートする。

sort -u [ファイル名]

ソートキーを指定する

CSV等区切り文字で複数のフィールドに分けられたテキストの場合、ソートキーにするフィールドを指定できる。
それには-tオプションと-kオプションを使う。
-tで区切り文字を指定し-kソートキーに指定するフィールドを指定する。フィールドは数字指定し、最初のフィールドは1である。

>sort -t [区切り文字] -k [ソートキーに指定するフィールド]

例)CSVファイルの2つのめフィールドをキーにソートし、ファイルにソートする

>sort -t , -k 2 hoge.csv > sorted-hoge.csv


オプション

sortコマンドのオプション
オプション 説明
-u 重複行を削除する
-t [区切り文字] 区切り文字を指定する
-k [フィールド番号] ソートキーとなるフィールドを指定する。数字で指定し、最初のフィールドは1
-o [ファイル名] 結果をファイルに出力する
-f 大文字、小文字を無視する
-n 文字列を数字としてソートする
-r 降順にソートする

参考

シェルスクリプト・トレーニング 第2回 複数のファイルを1つに統合する : シェルスクリプト・トレーニング - TECH WORLD

個人用ツール