Você primeiro quer classificar somente pelo campo 1 e, em seguida, no caso de empates, ver o campo 2:
sort -t'~' -k1,1 -k2,2n
Quando você usa -k1
, está classificando pelo campo 1 até o fim da linha. Quando você faz isso, não há empates, então a classificação pelo campo 2 nunca entra em ação.