Cho phép tôi làm rõ:
Giả sử tôi có một số từ khóa với tần suất sử dụng của chúng:
12 Hi
7 Hash
7 C++
9 Superuser
17 Stackoverflow
9 LaTeX
42 Life
9 Ubuntu
Những gì tôi muốn, là sắp xếp dữ liệu này dựa trên tần số theo thứ tự giảm dần và nếu có một số giá trị bằng nhau, thì nên sử dụng cột thứ hai theo thứ tự tăng dần.
sort -n -r foo.txt
Có phần đầu tiên nhưng sau đó cột thứ hai cũng reversed
:
42 Life
17 Stackoverflow
12 Hi
9 Ubuntu
9 Superuser
9 LaTeX
7 Hash
7 C++
Làm thế nào tôi có thể đạt được kết quả sau đây?
42 Life
17 Stackoverflow
12 Hi
9 LaTeX
9 Superuser
9 Ubuntu
7 C++
7 Hash
Tôi nghĩ rằng tôi phải sử dụng -k
đối số nhưng tôi không thể tìm ra cách!
Tôi muốn biết làm thế nào điều này có thể được thực hiện bằng cách chỉ sử dụng sort
lệnh của bash
. Tuy nhiên, nếu không thể đạt được điều này chỉ bằng cách sort
, các lệnh khác phải tương thích với vỏ Bourne.
-g
tùy chọn GNU-sort (số chung) thay vì-n
so sánh bằng số sẽ an toàn hơn: nó hoạt động chính xác cho cả dấu phẩy động và số nguyên.