sắp xếp các dòng trong một tệp theo số phiên bản


0

Tôi đang sử dụng linux và tôi có một tập tin như thế này:

0.b10_to_1.0.txt, 0 , 56 , 14
0.b3_to_0.b6.txt, 5 , 56 , 7
0.b6_to_0.b7.txt, 1 , 17 , 7
0.b7_to_0.b8.txt, 0 , 34 , 14
0.b8_to_0.b9.txt, 1 , 20 , 5
0.b9_to_0.b10.txt, 2 , 139 , 24
1.0_to_1.1.txt, 0 , 0 , 1
1.1.1_to_1.1.2.txt, 1 , 0 , 0
1.1.2_to_1.1.3.txt, 0 , 0 , 0
1.1_to_1.1.1.txt, 0 , 0 , 0

Đây thực sự là kết quả tôi nhận được từ việc sử dụng sắp xếp lệnh nhưng như bạn có thể thấy 0.b10là dòng đầu tiên trong khi tôi muốn nó là dòng sau dòng bắt đầu 0.b91.1là dòng cuối cùng trong khi tôi muốn nó đến trước 1.1.1. Đó là, tôi muốn sắp xếp nó theo số phiên bản.

Có cách nào dễ dàng để đạt được những gì tôi đang tìm kiếm không?

Câu trả lời:


1

Đó không phải là chính xác những gì bạn đang tìm kiếm, nhưng:

sed 's/[.b]//g' <yourfile> | sort -n 

sản xuất:

03_to_06txt, 5 , 56 , 7
06_to_07txt, 1 , 17 , 7
07_to_08txt, 0 , 34 , 14
08_to_09txt, 1 , 20 , 5
09_to_010txt, 2 , 139 , 24
010_to_10txt, 0 , 56 , 14
10_to_11txt, 0 , 0 , 1
11_to_111txt, 0 , 0 , 0
111_to_112txt, 1 , 0 , 0
112_to_113txt, 0 , 0 , 0

Số thập phân và 'b' ngăn bạn sắp xếp số.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.