如何重命名多个文件,使每个名称都为 img_NNNNNN 格式?

如何重命名多个文件,使每个名称都为 img_NNNNNN 格式?

我有数千张图片。它们的名称如下:

img_1
img_2
img_3
...
img_36000

我想将它们分别转换为以下形式:

img_010251
img_010252
img_010253
...
img_046250

Ubuntu 18.04 中有没有快速解决这个问题的方法?

注意:编号部分的长度必须是6! (嗯嗯)

答案1

我正在寻找一个作为 bash 脚本的解决方案。

不过,我刚刚为此编写了一个 Python 代码,并且它有效:

# importing modules 
import os, sys, glob

# args
main_folder = sys.argv[1]
start_num = int(sys.argv[2])
extension = sys.argv[3]

len_removal = 6 + len(extension)

# importing names
src_path = main_folder + '*.' + extension
src_files=sorted(glob.glob(src_path))

for i in range(0,len(src_files)):
    newname = src_files[i][:-len_removal] + str(start_num).zfill(6) +"." + extension
    os.rename(src_files[i],newname)
    start_num+=1

相关内容