Jawaban:
Sudah ada perintah untuk ini:
seq 100 104
akan mencetak angka-angka ini pada baris yang berbeda:
100
101
102
103
104
Jadi arahkan saja output ini ke file:
seq 100 104 > my_file.txt
dan seq 100 2 104akan mencetak secara bertahap dari dua, yaitu: 100, 102,104
seqberasal dari GNU Coreutils, bukan Unix. GNU bahkan singkatan dari GNU is Not Unix!
Linux dikirimkan dengan seqperintah yang melakukan hal itu. Jika Anda tidak memiliki seqperintah, ini mudah dilakukan:
i=100; while [ $i -le 104 ]; do echo $i; i=$((i+1)); done >b.txt
atau dalam ksh / bash / zsh
for ((i=100; i<=104; i++)); do echo $i; done >b.txt
atau dalam zsh
print -l {100..104} >b.txt
$i.
pesta:
printf '%s\n' {100..105}
perl:
perl -le 'print for 100..104'
bc:
echo 'for (i = 100 ; i <= 104 ; ++i) i' | bc
dc:
echo '100 104 sb [p 1 + d lb !<m] sm lm x' | dc
Jika Anda tidak keberatan dengan ruang di depan sebagian besar dari mereka:
echo -e {100..104}\\n >numbers-file.txt
Tanpa spasi tetapi dengan perintah tambahan:
echo {100..104} | sed 's/ /\n/g' >numbers-file.txt
Edit untuk perintah vim bonus (vim terbuka):
i100[esc]qqyyp[ctrl-a]q2@q:w numbers-file.txt
Untuk angka yang lebih banyak, tambah 2sesuai.
printf '%s\n' {100..104}
Selain menggunakan seq, while, for, printf, perl, echoseperti yang ditunjukkan pada contoh sebelumnya, Anda bisa juga menggunakan Python
python -c "print list(range(100,105))"
Contoh:
[user@linux ~]~ python -c "print list(range(100,105))"
[100, 101, 102, 103, 104]
[user@linux ~]~