有没有一种方法可以凭空创建一个由一系列数字组成的文件,从给定数字开始,每行一个?
就像是
magic_command start 100 lines 5 > b.txt
然后,b.txt
将是
100
101
102
103
104
答案1
已经有一个命令可以做到这一点:
seq 100 104
将在单独的行上打印这些数字:
100
101
102
103
104
因此,只需将此输出定向到文件中即可:
seq 100 104 > my_file.txt
并将seq 100 2 104
以 2 为增量打印,即:100
, 102
,104
答案2
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
答案3
重击:
printf '%s\n' {100..105}
珀尔:
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
答案4
除了使用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 ~]~