여러 열을 정렬하려고합니다. 결과가 예상과 다릅니다.
내 데이터는 다음과 같습니다 (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
다음은 올바르게 작동합니다.
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
그러나 다음은 예상대로 작동하지 않습니다.
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
성으로 정렬 한 다음 이름별로 정렬하려고했지만 Villamors가 올바른 순서로 표시되지 않습니다. 나는 성을 기준으로 정렬하고 성이 일치하면 이름을 기준으로 정렬하기를 바랐습니다.
이해가 안되는 방법에 대한 내용이있는 것 같습니다. 나는 이것을 다른 방법으로 할 수 있지만 (awk 사용) 정렬을 이해하고 싶습니다.
Mac OS X에서 표준 Bash 셸을 사용하고 있습니다.