我想用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/