Mẹo nhỏ với câu lệnh sort
Unix
31
tip
2
White

Bùi Hồng Hà viết ngày 23/05/2015

Câu lệnh sort

Câu lệnh sort trên Unix có lựa chọn -k rất thú vị. -k cho phép chỉ định khoá sắp xếp: tức là ta muốn khoá sắp xếp là từ ký tự thứ bao nhiêu đến ký tự thứ bao nhiêu

-k, --key=POS1[,POS2]
start a key at POS1 (origin 1), end it at POS2 (default end of line)

Áp dụng linh hoạt lựa chọn này cho phép giải quyết khá nhiều vấn đề một cách rất nhanh chóng.

Ví dụ

Mình chạy chương trình copy file thì có danh sách các file bị lỗi được ghi ra log như sau:

/dir1/dir2/130501/filename1
/dir1/dir2/130205/filename3
/dir1/dir2/130320/filename5
/dir1/dir2/130610/filename7
/dir1/dir2/131201/filename3
/dir1/dir2/130921/filename2
/dir1/dir2/130803/filename8
....

Do bản chất chương trình là copy file song song nên thứ tự thời gian các file là không thống nhất. Bây giờ mình muồn sắp xếp lại danh sách này theo thời gian để biết ngày nào bị lỗi vì sao.

Cách giải: Dùng lựa chọn -k để chỉ định vị trí bắt đầu của key. Để lấy được vị trí này một cách nhanh nhất ta có thể dùng python như sau:

$ python
>>> len("/dir1/dir2/")
11
>>>
Ctrl + D
$ cat logfile | sort -nk 12
/dir1/dir2/130205/filename3
/dir1/dir2/130320/filename5
/dir1/dir2/130501/filename1
/dir1/dir2/130610/filename7
/dir1/dir2/130803/filename8
/dir1/dir2/130921/filename2
/dir1/dir2/131201/filename3

Các file được sắp xếp theo thứ tự ngày tháng!

Tham khảo

$ man sort
Bình luận


White
{{ comment.user.name }}
Bỏ hay Hay
{{comment.like_count}}
Male avatar
{{ comment_error }}
Hủy
   

Hiển thị thử

Chỉnh sửa

White

Bùi Hồng Hà

59 bài viết.
287 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
75 8
Bài viết tổng hợp cơ chế hoạt động của https Chút ít về chữ ký điện tử Chữ ký điện tử là cơ chế bao gồm 3 thuật toán: Thuật toán chọn một khóa...
Bùi Hồng Hà viết 3 năm trước
75 8
White
44 7
Giới thiệu Gần đây thấy bản thân chém gió rất nhiều về MapReduce, Hadoop v.v nhưng chưa thấy có bài viết nào tổng hợp + giải thích cụ thể về MapRe...
Bùi Hồng Hà viết hơn 2 năm trước
44 7
White
35 1
Giới thiệu Google là một công ty dẫn đầu về phần mềm xử lý Big Data. Hầu hết các phần mềm xử lý dữ liệu như Hadoop đều có nguồn gốc ý tưởng từ Goo...
Bùi Hồng Hà viết hơn 2 năm trước
35 1
Bài viết liên quan
White
1 0
Chọn mua USB 1. Dung lượng càng lớn, tốc độ càng nhanh, tuổi thọ càng lớn. Điều nay đúng với mọi thứ flashbased memory như thẻ nhớ, ổ USB, ổ SSD. ...
Karmi Phuc viết 2 năm trước
1 0
White
1 0
Sử dụng option I với xargs Với option I thì bạn có thể sử dụng place holder với biến được lấy ra từ xargs man của option này: I replacestr R...
LinhPT viết 2 năm trước
1 0
{{like_count}}

kipalog

{{ comment_count }}

bình luận

{{liked ? "Đã kipalog" : "Kipalog"}}


White
{{userFollowed ? 'Following' : 'Follow'}}
59 bài viết.
287 người follow

 Đầu mục bài viết

Vẫn còn nữa! x

Kipalog vẫn còn rất nhiều bài viết hay và chủ đề thú vị chờ bạn khám phá!