Câu trả lời:
Bạn cần nói sort -n
để sắp xếp phần sau =
:
sort -t = -k 2n
-k2n
? Điều đó có liên quan đến sắp xếp số? cảm ơn bạn.
-k
định nghĩa một khóa sắp xếp. Xem trang người đàn ông để biết chi tiết. -k2n
định nghĩa một khóa sắp xếp bắt đầu từ trường thứ hai và kết thúc ở cuối dòng và biến nó thành một khóa sắp xếp số.
sử dụng sắp xếp:
sort -n file1 > file2
-n, --numeric-sort
so sánh theo giá trị số chuỗi
sort -g file1 > file 2
-g, - tổng hợp-số-sắp xếp
sort -n
vì chúng không bắt đầu bằng một số. Lý do nó sắp xếp chúng là loại toàn dòng cuối cùng (theo từ vựng, không phải bằng số) được thực hiện cho các dòng có cùng thứ hạng. Điều đó sẽ sắp xếp "$lvl=17"
trước "$lvl=2"
.
-n
và -g
là dư thừa ở đây vì đầu vào không phải là số. Vì vậy, câu trả lời này là sai lệch, do đó downvote (cũng lưu ý rằng -g
và các tùy chọn dài là cụ thể của GNU).
-n
là nó không giới hạn ở số nguyên thập phân. Điều đó vẫn sẽ sắp xếp "$lvl=17"
trước đây "$lvl=2"
như là một phần của phân loại cuối cùng.
Tôi thấy rằng, bạn chỉ cần chạy sort -h
, nó sẽ làm việc. Họ gọi nó --human-numberic-sort
.
sort -h file1 > file2
sort -n
là những gì bạn muốn sử dụng. Nó sắp xếp như chúng ta sắp xếp số.sort -k 2 -n file1
sort
trên File1 của bạn, không có tùy chọn nào, tôi nhận được File2 của bạn. Bạn đang làm gì khác nhau? Bạn đang bỏ qua câu hỏi này là gì?