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