Hướng dẫn này sẽ chỉ cho bạn cách sử dụng lệnh seq để tạo danh sách các số trong thiết bị đầu cuối Linux.
Cú pháp cơ bản của lệnh Seq
Hãy tưởng tượng bạn muốn hiển thị các số từ 1 đến 20 cho màn hình.
Lệnh seq sau đây cho bạn thấy cách thực hiện điều này:
seq 1 20
Ngày của riêng mình, lệnh này là khá vô ích. Ít nhất bạn sẽ muốn xuất các con số vào một tập tin.
Bạn có thể làm điều này bằng cách sử dụng lệnh cat như sau:
seq 1 20 | cat> numberedfile
Bây giờ bạn sẽ có một tệp gọi là numberedfile với các số từ 1 đến 20 được in trên mỗi dòng.
Phương pháp mà chúng tôi đã trình bày cho đến nay để hiển thị một chuỗi các số có thể đã được cô đặc như sau:
seq 20
Số khởi động mặc định là 1 vì vậy chỉ cần cung cấp số 20 lệnh seq sẽ tự động đếm từ 1 đến 20.
Bạn chỉ cần sử dụng định dạng dài nếu bạn muốn đếm giữa hai số khác nhau như sau:
seq 35 45
Điều này sẽ hiển thị các số từ 35 đến 45 cho đầu ra tiêu chuẩn.
Làm thế nào để thiết lập một Increment bằng cách sử dụng lệnh Seq
Nếu bạn muốn hiển thị tất cả các số chẵn từ 1 đến 100, bạn có thể sử dụng phần gia tăng của seq cho số 2 bước tại một thời điểm như ví dụ sau cho thấy:
seq 2 2 100
Trong lệnh trên, số đầu tiên là điểm bắt đầu.
Số thứ hai là số tăng theo từng bước, ví dụ: 2 4 6 8 10.
Số thứ ba là số cuối cùng để đếm.
Định dạng lệnh Seq
Chỉ cần gửi các số tới màn hình hoặc một tệp không đặc biệt hữu ích.
Tuy nhiên, có thể bạn muốn tạo tệp với mọi ngày vào tháng 3.
Để thực hiện việc này, bạn có thể sử dụng công tắc sau:
seq -f "% 02g / 03/2016" 31
Điều này sẽ hiển thị đầu ra tương tự như sau:
- 01/03/2016
- 02/03/2016
- 03/03/2016
Bạn sẽ thấy% 02g. Có ba định dạng khác nhau: e, f và g.
Ví dụ về những gì xảy ra khi bạn sử dụng các định dạng khác nhau này, hãy thử các lệnh sau:
seq -f "% e" 1 0,5 3
seq -f "% f" 1 0,5 3
seq -f "% g" 1 0,5 3
Đầu ra từ% e như sau:
- 1.000000e + 00
- 1.500000e + 00
- 2,000000e + 00
- 2.500000e + 00
- 3.000000e + 00
Đầu ra từ% f như sau:
- 1.000000
- 1.500000
- 2.000000
- 2.500000
- 3.000000
Cuối cùng, đầu ra từ% g như sau:
- 1
- 1,5
- 2
- 2,5
- 3
Sử dụng lệnh Seq như một phần của A cho vòng lặp
Bạn có thể sử dụng lệnh seq như một phần của vòng lặp for để chạy qua cùng một mã số một tập hợp các lần.
Ví dụ: bạn muốn hiển thị cụm từ "hello world" mười lần.
Đây là cách bạn có thể làm điều đó:
cho tôi bằng $ (seq 10)
làm
echo "hello world"
làm xong
Thay đổi trình tách chuỗi
Theo mặc định, lệnh seq hiển thị mỗi số trên một dòng mới.
Điều này có thể được thay đổi thành bất kỳ ký tự phân cách nào mà bạn muốn sử dụng.
Ví dụ: nếu bạn muốn sử dụng dấu phẩy để tách các số, hãy sử dụng cú pháp sau:
seq -s, 10
Nếu bạn muốn sử dụng một không gian thì bạn cần phải đặt nó trong dấu ngoặc kép:
seq -s "" 10
Làm cho các dãy số cùng độ dài
Khi bạn xuất các con số vào một tập tin, bạn có thể cảm thấy khó chịu khi bạn bước lên hàng chục và hàng trăm con số có độ dài khác nhau.
Ví dụ:
- 1
- 2
- 3
- 10
- 11
- 99
- 100
- 200
- 1000
- 10000
Bạn có thể làm cho tất cả các số có cùng độ dài như sau:
seq -w 10000
Khi bạn chạy lệnh trên, đầu ra sẽ như sau:
- 00001
- 00002
- 00003
- 00010
- 00011
- 00099
- 00100
- 00200
- 01000
- 10000
Hiển thị số theo thứ tự ngược
Bạn có thể hiển thị các số theo thứ tự ngược lại.
Ví dụ: nếu bạn muốn hiển thị các số từ 10 đến 1, bạn có thể sử dụng cú pháp sau:
seq 10 -1 1
Số điểm nổi
Bạn có thể sử dụng lệnh chuỗi để làm việc trên các số dấu chấm động.
Ví dụ: nếu bạn muốn hiển thị mọi số từ 0 đến 1 với bước 0,1, bạn có thể thực hiện như sau:
seq 0 0,1 1
Tóm lược
Lệnh seq hữu ích hơn khi được sử dụng như một phần của tập lệnh bash .