Câu trả lời:
Đã có một lệnh cho việc này:
seq 100 104
sẽ in những con số này trên các dòng riêng biệt:
100
101
102
103
104
Vì vậy, chỉ cần hướng đầu ra này vào một tập tin:
seq 100 104 > my_file.txt
và seq 100 2 104sẽ in trong từng bước của hai, cụ thể là: 100, 102,104
seqlà từ GNU Coreutils, không phải Unix. GNU thậm chí là viết tắt của GNU không phải là Unix!
Linux xuất xưởng với seqlệnh thực hiện chính xác điều đó. Nếu bạn không có seqlệnh, đây là một lệnh dễ dàng:
i=100; while [ $i -le 104 ]; do echo $i; i=$((i+1)); done >b.txt
hoặc trong ksh / bash / zsh
for ((i=100; i<=104; i++)); do echo $i; done >b.txt
hoặc trong zsh
print -l {100..104} >b.txt
$i.
bash
printf '%s\n' {100..105}
perl:
perl -le 'print for 100..104'
bc:
echo 'for (i = 100 ; i <= 104 ; ++i) i' | bc
đc:
echo '100 104 sb [p 1 + d lb !<m] sm lm x' | dc
Nếu bạn không ngại một không gian phía trước hầu hết chúng:
echo -e {100..104}\\n >numbers-file.txt
Không có không gian nhưng có thêm lệnh:
echo {100..104} | sed 's/ /\n/g' >numbers-file.txt
Chỉnh sửa cho lệnh vim tiền thưởng (mở vim):
i100[esc]qqyyp[ctrl-a]q2@q:w numbers-file.txt
Đối với số lượng nhiều hơn, tăng 2tương ứng.
printf '%s\n' {100..104}
Ngoài việc sử dụng seq, while, for, printf, perl, echonhư trong ví dụ trước, bạn cũng có thể sử dụng Python
python -c "print list(range(100,105))"
Thí dụ:
[user@linux ~]~ python -c "print list(range(100,105))"
[100, 101, 102, 103, 104]
[user@linux ~]~