添加该文件夹文件名的一部分文件夹名称的命令或脚本是什么?

添加该文件夹文件名的一部分文件夹名称的命令或脚本是什么?

假设我有如下文件夹结构

01. folder1
  |- 1. video1
  |- 2. video2
  |- 3. video3

02. folder2
  |- 1. photo1
  |- 2. photo2

03. folder3
  |- 1. doc1
  |- 2. doc2

现在我想重命名这些文件如下

01 folder1
  |- 01 1. video1
  |- 01 2. video2
  |- 01 3. video3

02 folder2
  |- 02 1. photo1
  |- 02 2. photo2

03 folder3
  |- 03 1. doc1
  |- 03 2. doc2

这意味着我想先添加3 字符(或文件夹名称中的任何字符)在其自己的文件名之前(如批量重命名)。

那么像上面那样自动重命名的命令/脚本是什么?

答案1

  1. 学习man find(你甚至可以用 Google 搜索例子)
  2. 让它生成一个用引号[1]括起来的“路径”列表,其中包含您想要更改的文件。
  3. 然后使用文本编辑器或继续破解查找参数,在单独的第二列中创建要更改的名称,
  4. mv然后在每行开头添加(注意空格)
  5. 现在要么将列表保存为文本文件并执行source name-of-file,要么将其通过管道传输到bash

祝你好运。

[1] 由于文件和文件夹名称中有空格

答案2

我找到了一个与此问题非常相似的python脚本。所以我根据需要修改了脚本。

这解决了我正在寻找的确切问题。

python3 rename.py "/parent/dir/path"
# filename is rename.py(save the file)
import shutil
import os
import sys

dr = sys.argv[1]

for root, dirs, files in os.walk(dr):
    for f in files:
        shutil.move(root+"/"+f, root+"/"+root.split("/")[-1][0:3]+f)

如果显示权限问题,则运行

sudo chmod +x rename.py

相关内容