我有一个文件目录,例如:
file.1.png
file.2.png
…
file.10.png
…
file.1000.png
file.1001.png
…
如何将号码填充到 4 位数字?它应该像这样结束:
file.0001.png
file.0002.png
…
file.0010.png
…
file.1000.png
file.1001.png
…
答案1
这也将起作用:
for f in *.png; do
int=`basename $f .png | cut -d '.' -f 2`
new_name=`printf "file.%0.4i.png\n" $int`
[ ! -f $new_name ] && mv $f $new_name
done
答案2
答案3
请尝试以下操作:
for f in *.png
do
foo='0000'${f#file.} #remove "file." and prepend 0000
foo=${foo:(-8)} #last eight characters
echo mv $f file.$foo
done
如果您对输出满意,请删除回声。
答案4
这里已经有很多答案了,但我想我会抛出一个简单的答案
rename 'file.' 'file.000' file.?.png
rename 'file.' 'file.00' file.??.png
rename 'file.' 'file.0' file.???.png
该rename
实用程序是我所知道的每个发行版的标准配置。它不像这里的其他一些解决方案那么花哨,但简单易于记住。
第一行将file.1.png
其转换为file.0001.png
.
第二个转换file.10.png
为file.0010.png
,第三个转换file.100.png
为 file.0100.png。
4位数字已经完成。