Hướng dẫn sử dụng lệnh shuf của Linux dành cho người mới bắt đầu (có ví dụ)

theanh

Administrator
Nhân viên
Nếu bạn đã từng chơi bài, bạn có thể biết đến thuật ngữ xáo trộn. Có một chút khó hình dung, có một công cụ dòng lệnh Linux thực hiện chính xác điều đó với các dòng trong tệp. Trong hướng dẫn này, chúng ta sẽ thảo luận về những điều cơ bản của lệnh 'shuf' bằng một số ví dụ dễ hiểu.

Nhưng trước khi làm điều đó, cần đề cập rằng tất cả các ví dụ ở đây đã được thử nghiệm trên máy Ubuntu 18.04 LTS.

Lệnh shuf Linux​

Lệnh shuf trong Linux cho phép bạn tạo các hoán vị ngẫu nhiên. Sau đây là cú pháp của lệnh:
Mã:
shuf [OPTION]... [FILE]
Và đây là cách trang hướng dẫn của công cụ giải thích lệnh này:
Mã:
Viết một hoán vị ngẫu nhiên các dòng đầu vào thành đầu ra chuẩn.
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp sẽ giúp bạn hiểu rõ hơn về cách lệnh shuf hoạt động.

Câu hỏi 1. Làm thế nào để sử dụng lệnh shuf?​

Cách sử dụng cơ bản rất đơn giản. Chỉ cần truyền tên tệp làm đầu vào. Sau đây là một ví dụ:
Mã:
shuf test.txt
Bây giờ, tệp test.txt chứa các dòng sau:
Mã:
1
2
3
4
5
6
7
8
9
Nhưng lệnh shuf ở trên tạo ra đầu ra sau:
Mã:
3
4
6
5
1
8
2
7
9
Vì vậy, bạn có thể thấy các dòng đã bị xáo trộn.

Q2. Làm thế nào để giới hạn số dòng trong đầu ra?​

Nếu bạn muốn giới hạn số dòng trong đầu ra shuf, hãy sử dụng tùy chọn dòng lệnh -n, yêu cầu bạn phải truyền một số biểu thị số lượng dòng tối đa bạn muốn đưa vào đầu ra.

Ví dụ:
Mã:
shuf -n 3 test.txt
Lệnh trên tạo ra đầu ra sau:
Mã:
6
4
9

Câu hỏi 3. Làm thế nào để cho phép lặp lại các dòng trong đầu ra?​

Giả sử tệp đầu vào chứa 9 dòng, nhưng bạn muốn shuf tạo ra nhiều dòng hơn trong đầu ra (sử dụng tùy chọn -n đã thảo luận ở trên). Bạn có thể thực hiện việc này bằng tùy chọn -r.
Mã:
-r, --repeat
 các dòng đầu ra có thể được lặp lại
Vì vậy, nếu bạn muốn shuf tạo ra 25 dòng ở đầu ra, hãy chạy lệnh sau:
Mã:
shuf -r -n 25 test.txt
Đây là đầu ra mà lệnh này tạo ra:
Mã:
6
8
4
5
9
3
3
1
2
5
7
5
9
5
8
5
2
8
8
7
4
4
8
5
3

Câu 4. Làm thế nào để shuf xử lý các đối số đầu vào như các dòng?​

Để làm được điều này, hãy sử dụng tùy chọn dòng lệnh -e. Sau đây là một ví dụ:
Mã:
shuf -e 1 2 3 4 5 6 7 8 9
Sau đây là đầu ra được tạo ra bởi lệnh này:
Mã:
9
1
7
8
6
2
3
5
4

Kết luận​

Đồng ý, shuf không phải là loại công cụ mà bạn cần sử dụng hàng ngày, nhưng không có hại gì khi tìm hiểu về tiện ích này, đặc biệt là vì đường cong học tập của nó không quá dốc. Sau khi bạn thực hành xong bất cứ điều gì chúng ta đã thảo luận ở đây, hãy đến trang hướng dẫn của công cụ để biết thêm về nó.
 
Back
Bên trên