Como mikeserv disse , mas com mais palavras:
Usar a opção de classificação numérica 'global' -n
altera o comportamento global da classificação para usar a classificação numérica para todas as chaves ( referência ) definindo gkey.numeric e, posteriormente, definindo a opção de classificação de cada chave para a opção de classificação numérica globalmente definida. Isso faz com que a ordenação no campo 2 falhe, de modo que ele passa por uma classificação (numericamente) no campo 6.
Definindo a opção de pedido n
dentro da opção -k
afeta apenas a ordenação naquele campo, então ele pode classificar no campo 2 até que não seja exclusivo, e então passar para numericamente ordenar no campo 6.
Como não consegui encontrar linhas 'duplex' no seu primeiro exemplo de classificação, combinei todas as linhas de amostra para criar um novo arquivo de entrada de amostra:
153759 townhome 900 2 1 79000
221155 condo 1030 3 1 109500
222999 townhome 850 2 2 83333
248624 duplex 1250 3 1 120000
444555 condo 930 2 1 99999
453215 townhome 1000 3 1.5 86000
646484 condo 890 3 1 93333
759153 condo 850 2 1.5 85000
777894 condo 790 3 1 101000
876543 townhome 745 2 1 79000
987654 duplex 1100 3 1.5 140000
... contra o qual podemos demonstrar o comportamento do tipo com o --debug
flag; observe os avisos "sem correspondência" e os sublinhados no 6º campo, indicando a parte da linha usada para classificação:
$ sort -k2,2 -nk6,6 --debug < input
sort: using ‘en_US.UTF-8’ sorting rules
153759 townhome 900 2 1 79000
^ no match for key
_____
_____________________________
876543 townhome 745 2 1 79000
^ no match for key
_____
_____________________________
222999 townhome 850 2 2 83333
^ no match for key
_____
_____________________________
759153 condo 850 2 1.5 85000
^ no match for key
_____
____________________________
453215 townhome 1000 3 1.5 86000
^ no match for key
_____
________________________________
646484 condo 890 3 1 93333
^ no match for key
_____
__________________________
444555 condo 930 2 1 99999
^ no match for key
_____
__________________________
777894 condo 790 3 1 101000
^ no match for key
______
___________________________
221155 condo 1030 3 1 109500
^ no match for key
______
____________________________
248624 duplex 1250 3 1 120000
^ no match for key
______
_____________________________
987654 duplex 1100 3 1.5 140000
^ no match for key
______
_______________________________
vs:
$ sort -k2,2 -k6,6n --debug < input
sort: using ‘en_US.UTF-8’ sorting rules
sort: leading blanks are significant in key 1; consider also specifying 'b'
759153 condo 850 2 1.5 85000
______
_____
____________________________
646484 condo 890 3 1 93333
______
_____
__________________________
444555 condo 930 2 1 99999
______
_____
__________________________
777894 condo 790 3 1 101000
______
______
___________________________
221155 condo 1030 3 1 109500
______
______
____________________________
248624 duplex 1250 3 1 120000
_______
______
_____________________________
987654 duplex 1100 3 1.5 140000
_______
______
_______________________________
153759 townhome 900 2 1 79000
_________
_____
_____________________________
876543 townhome 745 2 1 79000
_________
_____
_____________________________
222999 townhome 850 2 2 83333
_________
_____
_____________________________
453215 townhome 1000 3 1.5 86000
_________
_____
________________________________