linux - bash 脚本语言使用循环打印数字列表

标签 linux bash loops

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

相关文章:

linux - xargs 可以分隔参数吗?

linux - mkdir:无法创建目录 ‘/usr/local/etc/reaver’:权限被拒绝

linux - 如何在 bash 中显示 git 输出并将输出中的一个字符串存储在变量中?

bash - 在 Bash 中自定义 "command not found"消息

bash - awk:调用 awk 之外的函数

bash - 如何以编程方式检查 docker 机器是否存在?

linux - 在没有安装 NVIDIA GPU 的 X11/Wayland 的 CentOS 机器上,我在哪里可以获得 EGL 头文件?

java - 程序似乎无缘无故地循环

ios - 银联银行 : Basic Loops and Arrays

python - 如何打印小于特定值的 3 维数组的值?