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
オプション
| オプション | 説明 |
|---|---|
| -u | 重複行を削除する |
| -t [区切り文字] | 区切り文字を指定する |
| -k [フィールド番号] | ソートキーとなるフィールドを指定する。数字で指定し、最初のフィールドは1 |
| -o [ファイル名] | 結果をファイルに出力する |
| -f | 大文字、小文字を無視する |
| -n | 文字列を数字としてソートする |
| -r | 降順にソートする |
参考
シェルスクリプト・トレーニング 第2回 複数のファイルを1つに統合する : シェルスクリプト・トレーニング - TECH WORLD