Tôi đang cố gắng sắp xếp trên nhiều cột. Kết quả không như mong đợi.
Đây là dữ liệu của tôi (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
Sau đây hoạt động chính xác:
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
Nhưng, những điều sau đây không hoạt động như mong đợi:
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
Tôi đã cố gắng sắp xếp theo họ và sau đó bằng tên, nhưng bạn sẽ thấy Villamors không theo đúng thứ tự. Tôi đã hy vọng sắp xếp theo họ, và sau đó khi họ trùng khớp, sắp xếp theo tên.
Dường như có một cái gì đó về cách thức hoạt động này tôi không hiểu. Tôi có thể làm điều này theo cách khác tất nhiên (sử dụng awk), nhưng tôi muốn hiểu sắp xếp.
Tôi đang sử dụng shell Bash tiêu chuẩn trên Mac OS X.