使用迭代批量重命名文件

时间:2020-04-07 12:01:08

标签: bash

我有60个地块的实验。我用go-pro每次治疗拍了5张照片,外加第六张天空照片,以标记我移至下一张情节的位置(总共360张照片)。我如何编写bash脚本来自动重命名这些文件;即

更改文件集:

GOPRO0001.jpgGOPRO0002.jpg,...,...,GOPRO0360.jpg

变成这样:

plot1_1.jpg,...,plot1_6.jpg,...,...,plot60_1.jpg,...,plot60_6.jpg

最有效的方法是什么?我的想法是我需要进行2个迭代,但是我不确定该怎么做。

1 个答案:

答案 0 :(得分:1)

您可以尝试以下BASH脚本:

#!/bin/bash
i=1;j=1
for file in GOPRO*.jpg; do
    mv "$file" "plot${j}_${i}.jpg"
    if [[ $i -eq 6 ]]; then
        i=1
        ((j++))
    else
        ((i++))
    fi
done

如果您想在实际执行操作之前验证它会做什么,请将echo放在mv命令之前。