使用 Bash 以以下形式重命名文件的最佳方法是什么:
(foo1, foo2, ..., foo1300, ..., fooN)
使用零填充的文件名:
(foo00001, foo00002, ..., foo01300, ..., fooN)
最佳答案
这不是纯粹的 bash,但使用 rename
的 Perl 版本会更容易:
rename 's/\d+/sprintf("%05d",$&)/e' foo*
其中 's/\d+/sprintf("%05d",$&)/e'
是 Perl 替换正则表达式。
\d+
会匹配第一组数字(至少一个数字)sprintf("%05d",$&)
将匹配的数字传递给 Perl 的sprintf
,%05d
将填充到 5位数
关于bash - 如何在 Bash 中将文件名中的填充数字置零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55754/