创建一系列数字,文件中每行一个

创建一系列数字,文件中每行一个

有没有一种方法可以凭空创建一个由一系列数字组成的文件,从给定数字开始,每行一个?

就像是

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, perlecho如上例所示,您还可以使用 Python

python -c "print list(range(100,105))"

例子:

[user@linux ~]~ python -c "print list(range(100,105))"
[100, 101, 102, 103, 104]
[user@linux ~]~ 

相关内容