Volba -k je to, co chcete.
-k 1.4,1.5n -k 1.14,1.15n
Použil by pozice znaků 4-5 v prvním poli (všechno je to jedno pole pro pevnou šířku) a seřadil podle čísel jako první klíč.
Druhý klíč by také obsahoval znaky 14-15 v prvním poli.
(upravit)
Příklad (vše, co mám, je šikovný DOS/cygwin):
dir | \cygwin\bin\sort.exe -k 1.4,1.5n -k 1.40,1.60r
pro data:
12/10/2008 01:10 PM 1,564,990 outfile.txt
Seřadí výpis adresáře podle čísla měsíce (poz. 4-5) číselně a poté podle názvu souboru (poz. 40-60) naopak. Vzhledem k tomu, že zde nejsou žádné karty, je nutné třídit pouze pole 1.
Buďte však opatrní:
Pokud chcete soubor seřadit primárně podle pole 3 a sekundárně podle pole 2, chcete toto:
sort -k 3,3 -k 2,2 < inputfile
Toto ne: sort -k 3 -k 2 < inputfile
který třídí soubor podle řetězce od začátku pole 3 do konce řádku (což je potenciálně jedinečné).
-k, --key=POS1[,POS2] start a key at POS1 (origin 1), end it at POS2
(default end of line)