我有一个包含大约 1,700 个文件的文件夹。他们的名字都像1.txt
or 1497.txt
等等。我想重命名所有文件,以便所有文件名都是四位数字长。
I.e., 23.txt
变成0023.txt
.
可以执行此操作的 shell 脚本是什么?或相关问题:How do I use grep to only match rows that contains\d.txt
(即,一位数字,然后是句点,然后是字母txt
)?
这是我到目前为止所拥有的:
for a in [command i need help with]
do
mv $a 000$a
done
基本上,运行该命令三次,使用命令查找一位数字、两位数字和三位数文件名(更改了初始零的数量)。
Try:
for a in [0-9]*.txt; do
mv $a `printf %04d.%s ${a%.*} ${a##*.}`
done
更改文件名模式([0-9]*.txt
) 有必要的。
通用的枚举重命名,不对初始文件名集做出任何假设:
X=1;
for i in *.txt; do
mv $i $(printf %04d.%s ${X%.*} ${i##*.})
let X="$X+1"
done
关于同一主题:
- 用于填充文件名的 Bash 脚本 https://stackoverflow.com/questions/55754/bash-script-to-pad-file-names
- 在 bash 中提取文件名和扩展名 https://stackoverflow.com/questions/965053/extract-filename-and-extension-in-bash
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)