我正在合并两个数据集,它们的格式为40000X-????.mrc
.然而,它们都以0000
.因此,我想在第一个数据集结束后启动第二个数据集(如果第一个数据集有 12 个文件,那么我希望第二个数据集以 开头40000X-0013.mrc
,依此类推)。
我在网上找到了一些部分答案,所以我的代码如下:
#!/usr/bin/env bash
c=12
for f in *.mrc ; do
mv -v "$f" "40000X-$(printf '%0*d' 4 $c).mrc"
let c=c+1
done
预期结果:按顺序重命名所有文件,从 12 开始,一直持续到处理完所有文件为止。
实际结果:由于-v
选项的原因,它实际上声称已重命名所有文件,但在检查目录时,似乎只保留了最后 12 个文件。从测试来看,这取决于起始索引c
,如果我改变它,它确实可以迭代更多,但它会弄乱起始索引。
如有任何帮助,我们将不胜感激。