0

我想要重命名和重新定位的目录(在 MAC 上)中有数百个图像。

这是我正在使用的文件命名模式

131110 His-RFP female soft wpp 488 sens 546 His-RFP_Mark_and_Find_001_Pos001_S001_z01.tif
131110 His-RFP female soft wpp 488 sens 546 His-RFP_Mark_and_Find_001_Pos001_S001_z02.tif
131110 His-RFP female soft wpp 488 sens 546 His-RFP_Mark_and_Find_001_Pos001_S001_z03.tif
...
131110 His-RFP female soft wpp 488 sens 546 His-RFP_Mark_and_Find_001_Pos002_S001_z01.tif
131110 His-RFP female soft wpp 488 sens 546 His-RFP_Mark_and_Find_001_Pos002_S001_z02.tif
131110 His-RFP female soft wpp 488 sens 546 His-RFP_Mark_and_Find_001_Pos002_S001_z03.tif
...

注意 PosXXX 和 zXX 在文件名中发生了变化。

这就是我想要的这些文件,没有特定的顺序:

1)将所有文件重命名为以下格式-

    BF_Position001_time101.tif
    BF_Position001_time102.tif
    BF_Position001_time103.tif
...
    BF_Position002_time101.tif
    BF_Position002_time102.tif
    BF_Position002_time103.tif
...

PosXXX -> PositionXXX 和 zXX -> time1XX

2)为原目录中的每个位置创建一个目录

3)将相应的重命名文件放入正确的新建目录中。

感谢您的任何帮助。

4

2 回答 2

2
f <- list.files(pattern="His-RFP_Mark_and_Find_001_Pos..._S001_z..\\.tif")
pos <- substring(f, 75, 76)
zzz <- substring(f, 84, 85)
f2 <- file.path(paste0("Position", pos), paste0("BF_Position", pos, "_time1", zzz, ".tif"))

lapply(paste0("Position", unique(pos)), dir.create)
file.rename(f, f2)
于 2013-11-13T21:34:47.120 回答
1

好吧,对于它的价值,这就是我在 python 中的做法......

要使用它,请将文件另存为renamer.py(或其他)。为简单起见,我猜只需将其放在您的图像文件夹中即可。然后在终端窗口中,cd到该目录,键入chmod +x renamer.py. 然后键入./renamer.py

#!/usr/bin/env python
import re
import os
import glob

pattern = r'.*_Pos(\d+)_S\d+_z(\d+)\.tif'

Flist = glob.glob('*.tif')
for f in Flist:
    search=re.search(pattern,f)
    if search:
        P,T = search.groups()
        FolderName = "Position"+P
        FileName = "BF_Position{}_time1{}.tif".format(P,T)

        try:
            os.renames(f,os.path.join(FolderName,FileName))
        except OSError:
            print f
            print os.path.join(FolderName,FileName)
于 2013-11-13T22:58:18.703 回答