使用 bash 向文件名添加零填充

Adding zero padding to file name with bash

我有一个充满文件夹的目录,例如 "Week1"、"Week2"、...、"Week9",现在我需要一个第 10 周。事先没有预料到这个问题,我现在需要将我所有的目录重命名为 "Week01"、"Week02"、...、"Week09".

通常我会手动执行此操作,但我对 MacOS bash 终端有足够的了解,知道我应该能够使用

之类的东西来完成此操作
for f = Week[1-9]; do
   mv $f something something
done

但我不知道在 "something something" 中输入什么来更改我想要的名称。如何将零插入我的文件名?

使用printf(1)!

for OLD in {1..9}
do
    NEW=$(printf %02d ${OLD})
    mv Week${OLD} Week${NEW}
done

或者像这样

for D in Week[1-9]; { mv $D ${D//k/k0}; }