您可能有兴趣研究 bash 脚本。
您可以直接从 shell 执行 for 循环中的命令。
一个简单的循环来生成您特别提到的数字。例如,从外壳:
user@machine $ for i in {22..680} ; do
> echo "filename${i}.bmp"
> done
这将为您提供从filename22.bmp
到的列表filename680.bmp
。这只是处理您提到的范围的迭代。这不包括零填充数字。为此,您可以使用printf
. printf
语法printf format argument
是. 我们可以使用$i
上一个循环中的变量作为参数,并应用%Wd
W 是宽度的格式。前缀 W 占位符将指定要使用的字符。例子:
user@machine $ for i in {22..680} ; do
> echo "filename$(printf '%04d' $i).bmp"
> done
在上面$()
充当变量,执行命令以获得与预定义值相反的值。
这现在应该为您提供您指定的文件名。我们可以把它应用到实际的应用程序中:
user@machine $ for i in {22..680} ; do
> ./filter "filename$(printf '%04d' $i).bmp" lower upper
> done
这可以重写为一行:
user@machine $ for i in {22..680} ; do ./filter "filename$(printf '%04d' $i).bmp" lower upper ; done
从问题中需要注意的一点是,.exe 文件通常以COFF
linux 期望ELF
格式可执行文件的格式编译。