Linux のマニュアルから: キーで並べ替えます。KEYDEF は場所とタイプを指定します。
それが何を意味するのかわかりませんが、次のように使用されているのを見ました:
cut -f 2 *ptt | tail -n +4 | sort | uniq -c | sort -k1 -rn
そして、再びこのように:
ls -1 *\.flv | sort -n -k1.2
KEYDEF は、開始位置と停止位置を表す F[.C][OPTS][,F[.C][OPTS]] です。ここで、F はフィールド番号、C はフィールド内の文字位置です。どちらも起点 1 で、停止位置はデフォルトで線の終点になります。-t も -b も有効でない場合、フィールド内の文字は先行する空白の先頭からカウントされます。OPTS は、1 つまたは複数の 1 文字の順序付けオプション [bdfgiMhnRrV] であり、そのキーのグローバルな順序付けオプションをオーバーライドします。キーが指定されていない場合は、行全体をキーとして使用します。
入力ファイルの例:
123 233
214 176
341 325
最初のフィールドでソート:
sort -t' ' -k1 input
与えます:
123 233
214 176
341 325
2 番目のフィールド:
sort -t' ' -k2 input
与えます:
214 176
123 233
341 325
最初のフィールドの 2 桁目と 3 桁目:
sort -t' ' -k1.2 input
与えます:
214 176
123 233
341 325
2 番目のフィールドの最後の桁:
sort -t' ' -k2.3 input
与えます:
123 233
341 325
214 176
マニュアルページよりも短い言葉で: ファイルがどの「列」でソートされるかを指定します。列番号にピリオドが含まれている場合、ピリオドを過ぎた値がフィールド内のオフセットとして使用されます。たとえば-k1.2
、最初の列の 2 番目の文字で並べ替えます。
列は通常タブ文字で区切られますが、 で変更できます-t
。たとえば、-t,
カンマで区切られた列を使用します (例: CSV ファイル)。