-k オプションが必要です。
-k 1.4,1.5n -k 1.14,1.15n
最初のフィールド (固定幅のすべての 1 つのフィールド) で文字位置 4 ~ 5 を使用し、最初のキーとして数値で並べ替えます。
2 番目のキーは、最初のフィールドの文字 14 ~ 15 です。
(編集)
例 (手元にあるのは DOS/cygwin だけです):
dir | \cygwin\bin\sort.exe -k 1.4,1.5n -k 1.40,1.60r
データ:
12/10/2008 01:10 PM 1,564,990 outfile.txt
ディレクトリ リストを月番号 (位置 4 ~ 5) で数値順に並べ替え、次にファイル名 (位置 40 ~ 60) で逆順に並べ替えます。タブがないので、並べ替えるのはすべてフィールド 1 です。
ただし、注意してください:
ファイルを主にフィールド 3 で並べ替え、次にフィールド 2 で並べ替える場合は、次のようにします。
sort -k 3,3 -k 2,2 < inputfile
これではない: sort -k 3 -k 2 < inputfile
これは、フィールド 3 の先頭から行末までの文字列でファイルを並べ替えます (一意である可能性があります)。
-k, --key=POS1[,POS2] start a key at POS1 (origin 1), end it at POS2
(default end of line)