使用 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}; }
我有一个充满文件夹的目录,例如 "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}; }