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.
262 người follow
Kipalog
{{userFollowed ? 'Following' : 'Follow'}}
Cùng một tác giả
White
74 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 gần 3 năm trước
74 8
White
43 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 2 năm trước
43 7
White
32 0
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 2 năm trước
32 0
Bài viết liên quan
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 gần 2 năm trước
1 0
White
44 1
Chương 1. Tổng quan một hệ thống Linux Thiên chúa thấy mọi sự người đã làm, và thấy rằng nó đuợc làm rất tốt. Bible King James Version. Genesis 1:3...
Trần Đạt viết hơn 1 năm trước
44 1
White
17 1
Chương 2. Tổng quan về cây thư mục Chương này mô tả các phần quan trọng của cây thư mục trong Linux , dựa trên Tiêu chuẩn phân cấp cây thư mục Fil...
Trần Đạt viết hơn 1 năm trước
17 1
{{like_count}}

kipalog

{{ comment_count }}

bình luận

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


White
{{userFollowed ? 'Following' : 'Follow'}}
59 bài viết.
262 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á!