Estoy tratando de ordenar en varias columnas. Los resultados no son los esperados.
Aquí están mis datos (people.txt):
Simon Strange 62
Pete Brown 37
Mark Brown 46
Stefan Heinz 52
Tony Bedford 50
John Strange 51
Fred Bloggs 22
James Bedford 21
Emily Bedford 18
Ana Villamor 44
Alice Villamor 50
Francis Chepstow 56
Lo siguiente funciona correctamente:
bash-3.2$ sort -k2 -k3 <people.txt
Emily Bedford 18
James Bedford 21
Tony Bedford 50
Fred Bloggs 22
Pete Brown 37
Mark Brown 46
Francis Chepstow 56
Stefan Heinz 52
John Strange 51
Simon Strange 62
Ana Villamor 44
Alice Villamor 50
Pero, lo siguiente no funciona como se esperaba:
bash-3.2$ sort -k2 -k1 <people.txt
Emily Bedford 18
James Bedford 21
Tony Bedford 50
Fred Bloggs 22
Pete Brown 37
Mark Brown 46
Francis Chepstow 56
Stefan Heinz 52
John Strange 51
Simon Strange 62
Ana Villamor 44
Alice Villamor 50
Intenté ordenar por apellido y luego por nombre, pero verá que los Villamors no están en el orden correcto. Esperaba ordenar por apellido, y luego, cuando los apellidos coincidían, ordenar por nombre.
Parece que hay algo sobre cómo debería funcionar esto, no lo entiendo. Podría hacer esto de otra manera, por supuesto (usando awk), pero quiero entender el tipo.
Estoy usando el shell Bash estándar en Mac OS X.