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 104
akan mencetak secara bertahap dari dua, yaitu: 100
, 102
,104
seq
berasal dari GNU Coreutils, bukan Unix. GNU bahkan singkatan dari GNU is Not Unix!
Linux dikirimkan dengan seq
perintah yang melakukan hal itu. Jika Anda tidak memiliki seq
perintah, 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 2
sesuai.
printf '%s\n' {100..104}
Selain menggunakan seq
, while
, for
, printf
, perl
, echo
seperti 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 ~]~