gpt4 book ai didi

bash - printf %d 是添加而不是替换填充的零

转载 作者:行者123 更新时间:2023-12-04 19:04:05 25 4
gpt4 key购买 nike

长话短说: printf 正在向数字添加零,而不是让数字替换它们。

更多细节:

我目前正在尝试在我的 Ubuntu 操作系统上使用 Bash 来执行一系列分解的文件
包含对我的数据库的查询。

这些文件被分解为如下所示:

x0000000000
x0000000001
x0000000002
etc.

我正在制作一个小脚本,通过使用 Bash 的 printf 的填充零函数来运行这些文件。

我的脚本看起来和我在 Google 上搜索过和看到的所有脚本一样,但结果却不同。

这是我的脚本:(不是用于查询的脚本,而是用于获取文件名的脚本)
for i in {0..10};
do
printf "x%010d"$i;
done

应该是这样的:
x0000000000
x0000000001
x0000000002
x0000000003
x0000000004
x0000000005
x0000000006
x0000000007
x0000000008
x0000000009
x0000000010

而是像这样出来:
x00000000000
x00000000001
x00000000002
x00000000003
x00000000004
x00000000005
x00000000006
x00000000007
x00000000008
x00000000009
x000000000010

它纯粹是向数字添加零,而不是替换它们的数字。

如果我无意中打开了某些设置、做错了什么或有错误,有人可以告诉我吗?

最佳答案

您需要一个空格,否则会发生串联:

printf "x%010d" $i;
^

关于bash - printf %d 是添加而不是替换填充的零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14348659/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com