我想用bash在一个文本文件(numberlist.txt)中打印所有从000000到999999的数字,每行一个数字。例子:

000000
000001
000002

...

999999

这是我的代码:(当我运行它时,什么都不会发生)
#!/bin/bash
CONT=0
MAX_NUM=1000000
FILE_NAME=numberlist.txt

#While counter CONT is lower than MAX_NUM (-lt, “lower #than”) the loop is executed
until [ $CONT -lt $MAX_NUM ]; do
     printf "%000002d\n" $CONT > $FILE_NAME
     #CONT= CONT + 1
     let CONT+=1
done

我做错什么了?

最佳答案

不要打开和关闭文件一百万次,只需重定向循环的输出而不是printf:

#!/bin/bash
CONT=0
MAX_NUM=1000000
FILE_NAME=numberlist.txt

while [ $CONT -lt $MAX_NUM ]; do
     printf "%06d\n" $CONT
     #CONT= CONT + 1
     let CONT++
done > $FILE_NAME

关于linux - bash脚本语言使用循环打印数字列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32299628/

10-12 23:01