L'opzione -k è quello che vuoi.
-k 1.4,1.5n -k 1.14,1.15n
Utilizzerebbe le posizioni dei caratteri 4-5 nel primo campo (è tutto un campo per larghezza fissa) e ordinerebbe numericamente come prima chiave.
La seconda chiave sarebbe i caratteri 14-15 anche nel primo campo.
(modifica)
Esempio (tutto quello che ho a portata di mano è DOS/cygwin):
dir | \cygwin\bin\sort.exe -k 1.4,1.5n -k 1.40,1.60r
per i dati:
12/10/2008 01:10 PM 1,564,990 outfile.txt
Ordina numericamente l'elenco delle directory per numero di mese (pos 4-5) e quindi per nome file (pos 40-60) al contrario. Poiché non ci sono schede, è tutto il campo 1 da ordinare.
Attenzione però:
Se desideri ordinare il file principalmente in base al campo 3 e secondariamente in base al campo 2, desideri quanto segue:
sort -k 3,3 -k 2,2 < inputfile
Non questo: sort -k 3 -k 2 < inputfile
che ordina il file in base alla stringa dall'inizio del campo 3 alla fine della riga (che è potenzialmente univoca).
-k, --key=POS1[,POS2] start a key at POS1 (origin 1), end it at POS2
(default end of line)