Đâu là sự khác biệt giữa sắp xếp -t' ' -k1,1n -k2,2n
và sắp xếp -t' ' -k1,2n
?
Bạn có thể cho ví dụ?
Tôi đã thử:
logan@logan-mainPC:~/my-test/learn-sort$ cat myage
tuổi của tôi 1
tuổi tôi 100
tuổi 2 của tôi
tuổi 200 của tôi
logan@logan-mainPC:~/my-test/learn-sort$ cat myage | sắp xếp -k2,3
tuổi của tôi 1
tuổi tôi 100
tuổi 2 của tôi
tuổi 200 của tôi
logan@logan-mainPC:~/my-test/learn-sort$ cat myage | sắp xếp -k2,2 -k3,3
tuổi của tôi 1
tuổi tôi 100
tuổi 2 của tôi
tuổi 200 của tôi
logan@logan-mainPC:~/my-test/learn-sort$ cat myage | sắp xếp -k2,2 -k3,3n
tuổi của tôi 1
tuổi 2 của tôi
tuổi tôi 100
tuổi 200 của tôi
tôi nghĩ sắp xếp -k2,3
sắp xếp 'tuổi 1', 'tuổi 100', ... và sắp xếp -k2,2 -k3,3
sắp xếp 'tuổi', 'tuổi',... rồi '1', '100', .... Vì tất cả chúng đều coi các cột là chuỗi nên chúng tạo ra cùng một kết quả.
Nhưng mà sắp xếp -k2,2 -k3,3n
tạo ra kết quả khác vì nó coi cột 3 là số.
Nhưng sau đó:
logan@logan-mainPC:~/my-test/learn-sort$ cat myage | sắp xếp -k2,3n
tuổi của tôi 1
tuổi tôi 100
tuổi 2 của tôi
tuổi 200 của tôi
đó là lạ. Tìm ra nguyên nhân là do cột 2 không phải là số.
logan@logan-mainPC:~/my-test/learn-sort$ cat myage | sắp xếp --debug -k2,3n
sắp xếp: sử dụng quy tắc sắp xếp âen_AU.UTF-8â
sắp xếp: phím 1 là số và kéo dài nhiều trường
tuổi của tôi 1
^ không khớp với khóa
________
tuổi tôi 100
^ không khớp với khóa
__________
tuổi 2 của tôi
^ không khớp với khóa
________
tuổi 200 của tôi
^ không khớp với khóa
__________
Cảm ơn.