行単位でファイル内容をソートする時に使います
主に使われるオプションは下記。
- -b
- -f
- -r
- -t 区切り文字
- -n
- -k フィールド
sort -b
ファイルの行頭にある空白を無視します。
sort -f
ファイルの大文字、小文字を区別せずにソートできるようになります。
sort -r
降順でソートしたい時に指定します。
sort -t 区切り文字
指定した文字を区切り文字としてフィールドを認識するようになります。
例えば
$ sort -t , ~~~.txt
上記sortコマンドを実行した場合、~~~.txtの中身を "," で区切ってフィールド認識します。
aaa,bbb,ccceee,fff,ggg~~~
これがテキストファイルの中身だとすると、aaa で一つ、bbb で一つ、、、といった具合です。
sort -n
数値を数値としてソートするようになります。
sortコマンドでは、基本的に数字も全て文字として扱われます。
Excelを使う方にとっては、value関数で文字扱いになってしまっている数字を数字へとして変換させる処理を行ったことがあるかと思います。それと同じことをしていると考えて貰えればよいと思います。
sort -k
ソートする対象フィールドをどこにするか指定できます。
デフォルトでは1番目が指定されるので、さきほどの ~~~.txtを例にした場合はaaa とeee がソート対象です。
sort -k 3 ~~~.txt とコマンドを実行することで、 3つ目のフィールドにある ccc , ggg をソート対象として指定できるようになります。