Giới thiệu
Lệnh sort
được sử dụng trong Linux để in đầu ra của một file theo thứ tự nhất định. Lệnh này xử lý trên dữ liệu của chúng ta (nội dung file hoặc đầu ra của bất kỳ lệnh nào) và sắp xếp lại theo cách được chỉ định, giúp chúng ta đọc dữ liệu một cách hiệu quả. Nó rất hữu ích trong trường hợp có sẵn một lượng lớn thông tin và cần được sắp xếp theo thứ tự bảng chữ cái hoặc tăng dần hoặc giảm dần.
Cú pháp lệnh sort
sort <tùy chọn> <filename>
Các ví dụ lệnh sort
Sắp sếp theo mặc định.
Chúng ta có file 123host.txt
như sau:
Mặc định sắp xếp theo thứ tự a đến z(thứ tự tăng dần) dựa trên kí tự đầu tiên của mỗi dòng.
Sắp xếp theo thứ tự giảm dần
Để sắp xếp theo thứ tự giảm dần( từ z-a) chúng ta dùng tùy chọn -r
.
Sắp xếp các số từ bé đến lớn
Chúng ta có file number.txt
như sau:
Để sắp xếp số theo thứ tự các số từ bé đến lớn chúng ta sử dụng tùy chọn -n
như sau:
Sắp xếp các số từ lớn đến bé
Để sắp xếp các số theo thứ tự từ lớn đến bé chúng ta dùng tùy chọn -n
và -r
.
Sắp xếp một cách ngẫu nhiên
Để sắp xếp ngẫu nhiên chúng ta sử dụng tuỳ chọn -R
.
Lưu ý: các dòng trùng lặp sẽ luôn luôn kết thúc cạnh nhau.
Sắp xếp và xóa các dòng trùng lặp.
Chúng ta có file demo-123host.txt
như sau:
Để loại bỏ các dòng trùng lặp chúng ta sử dụng tùy chọn -u
.
Sắp xếp các tháng trong file.
Cũng giống như sắp xếp dữ liệu hoặc số, chúng ta cũng có thể sắp xếp các tháng trong tệp. Chúng ta sẽ sử dụng tùy chọn -M
và đảo ngược thứ tự bằng tùy chọn -r
.
Chúng ta có file months
như sau:
Chúng ta sắp xếp các tháng theo thứ tự tăng dần.
Chúng ta sắp xếp các tháng theo thứ tự giảm dần.
Sắp xếp theo cột.
Chúng ta cũng có thể sắp xếp cột cụ thể. Để sắp xếp một cột cụ thể, chúng ta sử dụng tùy chọn -k
cùng với một số cột.
Ví dụ chúng ta có file 123host.txt
với nội dung như sau:
Để sắp xếp theo cột chúng ta sử dụng tùy chọn -k
và số cột muốn sắp xếp, ở đây là cột số 2 và tùy chọn -n
để sắp xếp số.
Sắp xếp dữ liệu của nhiều file
Chúng ta có thể sắp xếp dữ liệu của nhiều file cùng một lúc. Chúng ta có thể thực hiện lệnh find
, đầu ra của lệnh find sẽ là đầu vào của lệnh sort.
Ví dụ chúng ta có các file có phần mở rộng .txt như 123host.txt, months.txt, number.txt. Chúng ta sử dụng lệnh find để tìm và nạp các file có phần mở rộng .txt vào lệnh sort với đường ống, chúng ta sử dụng thêm tùy chọn -n
để sắp xếp các số như sau:
Sắp xếp và lưu vào một file khác
Để sắp xếp rồi chỉ định tệp đầu ra chúng ta dùng tùy chọn -o
.
Hoặc chúng ta có thể dùng lệnh như sau:
Kiểm tra file được sắp xếp hay chưa.
Có một tùy chọn mà chúng ta có thể kiểm tra xem file đã được sắp xếp hay chưa. Sử dụng tùy chọn -c
, lệnh sắp xếp báo cáo dòng đầu tiên không đúng vị trí. Nếu tệp hiện có đã được sắp xếp rồi, thì việc sắp xếp sẽ không đưa ra bất kỳ đầu ra nào. Nó sẽ lần lượt kiểm tra từng dòng và khi tìm thấy dòng nào không được sắp xếp, nó sẽ đưa ra một thông báo.
Tổng kết
Chúng ta đã kết thúc bài hướng dẫn sử dụng lệnh sort trong Linux. Hy vọng qua bài này sẽ giúp các bạn hiểu về các chức năng và tùy chọn cơ bản của lệnh sort
.
Tính năng đang được phát triển