Answers:
已经有一个命令:
seq 100 104
将在单独的行上打印这些数字:
100
101
102
103
104
因此,只需将此输出定向到文件中即可:
seq 100 104 > my_file.txt
并且seq 100 2 104
将打印两种,即增量:100
,102
,104
seq
来自GNU Coreutils,而不是Unix。GNU甚至代表GNU不是Unix!
Linux附带了seq
执行此操作的命令。如果您没有该seq
命令,那么它很简单:
i=100; while [ $i -le 104 ]; do echo $i; i=$((i+1)); done >b.txt
或在ksh / bash / zsh中
for ((i=100; i<=104; i++)); do echo $i; done >b.txt
或在zsh中
print -l {100..104} >b.txt
$i
。
重击:
printf '%s\n' {100..105}
perl:
perl -le 'print for 100..104'
公元前:
echo 'for (i = 100 ; i <= 104 ; ++i) i' | bc
直流电:
echo '100 104 sb [p 1 + d lb !<m] sm lm x' | dc
如果您不介意其中大多数前面的空格:
echo -e {100..104}\\n >numbers-file.txt
没有空格但有一条额外的命令:
echo {100..104} | sed 's/ /\n/g' >numbers-file.txt
编辑红利vim命令(打开vim):
i100[esc]qqyyp[ctrl-a]q2@q:w numbers-file.txt
要获取更多数字,请相应增加2
。
printf '%s\n' {100..104}
除了使用seq
,while
,for
,printf
,perl
,echo
如前面的例子,你也可以使用Python
python -c "print list(range(100,105))"
例:
[user@linux ~]~ python -c "print list(range(100,105))"
[100, 101, 102, 103, 104]
[user@linux ~]~