使用字母和数字变量重命名目录中的文件

时间:2018-01-31 02:10:17

标签: bash unix

我通常创建包含24个文件集的目录。我正在尝试编写一个bash脚本,它允许我使用字母和数字术语重命名这些文件。

为了澄清,这些文件是我从24孔板(Plate Layout)拍摄的tiff图像。使用链接图像作为参考,按行从左到右拍摄图像。因此,图像首先按字母顺序排列(行a-d),然后按数字顺序排列(数字1-6)。

这些文件目前的名称如下:IMG0001.tif,IMG0002.tif,...

因此,我想编写一个脚本,将图像重命名为各自的井ID。它看起来像这样:

a1.tif
a2.tif
a3.tif
a4.tif
a5.tif
a6.tif
b1.tif
b2.tif
...
d5.tif
d6.tif

这似乎是一项相当简单的任务,但我所尝试过的任何事情都没有给我提供我想要的东西。有人可以推荐一种方法来使用bash吗?谢谢!

1 个答案:

答案 0 :(得分:1)

rename是您可能正在寻找的。

$ rename IMG000 a *.tif

这将重命名扩展名为.tif的所有文件名,从IMG000开始,以a开头。

如果您有各种群组,例如IMG000*.tifIMG100*.tifIMG200*.tif,则可以使用rename的多个命令,

$ rename IMG000 a IMG000*.tif
$ rename IMG100 b IMG100*.tif
$ rename IMG200 c IMG200*.tif

上面会将IMG0001.tifIMG1001.tifIMG2001.tifIMG1002.tif重命名为:

a1.tif
b1.tif
c1.tif
b2.tif

...