-k1,2
significa “classificar todas as linhas, comparando o conteúdo de todos os campos de 1 a 2 simultaneamente”; então “1,0 1” é comparado com “10 2”, etc.
-k1,1 -k2,2
significa “classificar todas as linhas, comparando o conteúdo do campo 1 e quando duas linhas têm o mesmo conteúdo no campo 1, comparando o conteúdo do campo 2”; então “1,0” é comparado com “10”, depois “2” com “4” etc.
O que acontece então, em ambos os casos, resume-se ao agrupamento, em particular a ponderação. Os dígitos geralmente têm um peso maior que a pontuação e o espaçamento. Ao comparar “1,0 1” e “10 2”, a diferença devido à vírgula é ignorada porque os dígitos são diferentes. Ao comparar "1,0" e "10", a única diferença é a vírgula, por isso não é mais ignorada. Veja ISO 14651 para detalhes.
Você pode definir LC_COLLATE=C
para obter agrupamento com base apenas nos valores dos caracteres, sem pesos. Seus exemplos resultam em
1,0 1
1,0 3
10 2
10 4
quando a localidade "C" é usada.