Hướng dẫn lệnh seq Linux cho người mới bắt đầu (5 ví dụ)

theanh

Administrator
Nhân viên
Đôi khi, bạn bắt gặp một công cụ dòng lệnh cung cấp chức năng hạn chế riêng lẻ, nhưng khi sử dụng với các công cụ khác, bạn nhận ra tiềm năng thực sự của nó. Một khi công cụ đó là seq, công cụ này in ra một chuỗi số. 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 tiện ích dòng lệnh này bằng các ví dụ dễ hiểu.

Nhưng trước khi đi sâu vào vấn đề đó, cần lưu ý rằng tất cả các ví dụ trong bài viết này đều đã được thử nghiệm trên máy Ubuntu 16.04.

Lệnh seq của Linux​

Như đã đề cập, lệnh seq cho phép bạn in một chuỗi số. Sau đây là cú pháp của nó:
Mã:
seq [OPTION]... LAST
seq [OPTION]... FIRST LAST
seq [OPTION]... FIRST INCREMENT LAST
Và đây là cách trang hướng dẫn của công cụ giải thích về nó:
Mã:
In các số từ FIRST đến LAST, theo các bước INCREMENT. Nếu FIRST hoặc 
 INCREMENT bị bỏ qua, mặc định là 1. Nghĩa là, một INCREMENT 
 bị bỏ qua sẽ mặc định là 1 ngay cả khi LAST nhỏ hơn FIRST. 
 
 Chuỗi số kết thúc khi tổng của số hiện tại và 
 INCREMENT sẽ lớn hơn LAST. FIRST, INCREMENT và LAST 
 được hiểu là các giá trị dấu phẩy động. INCREMENT thường là số dương nếu 
 FIRST nhỏ hơn LAST và INCREMENT thường là số âm nếu FIRST
 lớn hơn LAST. FORMAT phải phù hợp để in một đối số?
 kiểu 'double'; mặc định là %.PRECf nếu FIRST, INCREMENT và
 LAST đều là số thập phân dấu phẩy cố định với độ chính xác tối đa PREC,
 và là %g nếu không.
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 seq hoạt động.

Câu hỏi 1. Lệnh seq hoạt động như thế nào?​

Cách sử dụng cơ bản rất dễ. Tất cả những gì bạn phải làm là truyền một số cho seq và công cụ sẽ tạo ra các số đầu ra từ 1 đến số đầu vào.

Ví dụ:
Mã:
seq 8


Tất nhiên, bạn cũng có thể chỉ định số mà bạn muốn đầu ra bắt đầu.

Ví dụ:
Mã:
seq 3 8


Tiếp theo, bạn cũng có thể đặt chênh lệch gia tăng, theo mặc định là 1. Ví dụ: nếu bạn muốn seq in từ 1 đến 9, nhưng chênh lệch là 2, thì đây là cách bạn có thể thực hiện:
Mã:
seq 1 2 9



Câu 2. Làm thế nào để thêm dấu phân cách?​

Nếu muốn, bạn cũng có thể có dấu phân cách để làm cho đầu ra seq trông đẹp hơn. Tính năng này có sẵn thông qua tùy chọn dòng lệnh -s.

Ví dụ, lệnh sau đây có ý định sử dụng dấu phẩy (,) làm dấu phân cách:
Mã:
seq -s, 1 9

Câu hỏi 3. Làm thế nào để chỉ định định dạng đầu ra?​

Lệnh seq cho phép bạn sử dụng printf stylefloating-point FORMAT. Tính năng này có thể truy cập thông qua tùy chọn dòng lệnh -f. Trang hướng dẫn của công cụ không có nhiều thông tin về cách sử dụng tùy chọn này, nhưng trang thông tin có chứa các chi tiết cần thiết. Đây là những gì trang thông tin nói:
Mã:
`-f FORMAT'
`--format=FORMAT'
 In tất cả các số bằng FORMAT. FORMAT phải chứa chính xác một
 trong các thông số chuyển đổi dấu phẩy động theo kiểu `printf'
 `%a', `%e', `%f', `%g', `%A', `%E', `%F', `%G'. `%' có thể được
 theo sau bởi không hoặc nhiều cờ lấy từ tập hợp `-+#0 '', sau đó
 một chiều rộng tùy chọn chứa một hoặc nhiều chữ số, sau đó là độ chính xác tùy chọn bao gồm `.' theo sau bởi không hoặc nhiều chữ số.
 FORMAT cũng có thể chứa bất kỳ số lượng thông số chuyển đổi `%%' nào. Tất cả các thông số chuyển đổi đều có cùng một ý nghĩa như với `printf'.

 Định dạng mặc định được bắt nguồn từ FIRST, STEP và LAST. Nếu
 tất cả những lệnh này đều sử dụng biểu diễn thập phân dấu phẩy cố định, thì định dạng
 mặc định là `%.Pf', trong đó P là độ chính xác tối thiểu có thể
 biểu diễn chính xác các số đầu ra. Nếu không, thì định dạng
 mặc định là `%g'.
Ví dụ, bạn có thể sử dụng tùy chọn này theo cách sau:
Mã:
seq -f "%02g" 6

Câu hỏi 4. Làm thế nào để sử dụng seq với các lệnh khác? (Trường hợp sử dụng 1)​

Giả sử bạn muốn thực hiện phép cộng một số số, chẳng hạn từ 111 đến 121. Sau đây là cách bạn có thể thực hiện việc này bằng cách sử dụng seq:
Mã:
expr `seq -s " + " 111 121`
Đây là lệnh trên đang hoạt động:


Câu hỏi 5. Làm thế nào để sử dụng seq với các lệnh khác? (Trường hợp sử dụng 2)​

Giả sử bạn muốn tạo một loạt các tệp mới có tên chỉ thay đổi giá trị số nguyên. Ví dụ: file1, file2, file3, v.v. Sau đây là cách bạn có thể thực hiện việc này bằng seq.

touch $(seq -f "file%g" 1 10)


Kết luận​

Bây giờ bạn sẽ đồng ý rằng lệnh seq hữu ích như thế nào. Nếu bạn nói về các tùy chọn dòng lệnh mà Seq cung cấp, thì không có nhiều đường cong học tập, chỉ cần bạn biết khi nào và cách sử dụng lệnh và các tùy chọn của nó. Chúng tôi đã đề cập đến một số trường hợp sử dụng ở đây - sẽ đủ để bạn bắt đầu sử dụng công cụ này. Để biết thêm thông tin về Seq, hãy truy cập trang hướng dẫn của nó.
 
Back
Bên trên