我正在尝试在重命名脚本中将连续的四位数字添加到文件名的末尾。我遇到的问题是,它只填充第一个文件,添加的数字不是顺序的。这里是我的脚本至今:在文件名的末尾添加连续数字 - Shell脚本
开始的文件名:
FILE-1.png
FILE-5.png
FILE-14.png
FILE-99.png
FILE-167.png
FILE-199.png
FILE-278.png
FILE-455.png
脚本:
a=`printf '%04d' "1"`
cd /${1-$PWD}
for i in *.png;
do mv $i `printf output.%04d.$a.png $(echo $i | sed 's/[^0-9]*//g')`;
let a=a+1
done
编辑: 我改剧本有点纳入顶部的fmt
变量。但我仍然希望它按照第一组数字的数字顺序来命名第二组数字,如下面的我希望的输出中所示。
fmt=output.%04d
n=1
cd /${1-$PWD}
for i in *.png;
do mv $i `printf $fmt.%04d.png $(echo $i | sed 's/[^0-9]*//g') "$n"`;
n=$((n+1))
done
我的新的输出:
output.0001.0001.png
output.0005.0007.png
output.0014.0002.png
output.0099.0008.png
output.0167.0003.png
output.0199.0004.png
output.0278.0005.png
output.0455.0006.png
原始输出:
output.0001.0001.png
output.0005.7.png
output.0014.2.png
output.0099.8.png
output.0167.3.png
output.0199.4.png
output.0278.5.png
output.0455.6.png
所需的输出:
output.0001.0001.png
output.0005.0002.png
output.0014.0003.png
output.0099.0004.png
output.0167.0005.png
output.0199.0006.png
output.0278.0007.png
output.0455.0008.png
一如往常的任何帮助深表感谢!
不知道为什么有人低估了这一点。它具有一个好问题的所有要素 - 输入,期望和实际输出,甚至尝试编码解决方案。 – ghoti