Neo*_*Neo 7 command-line scripts software-recommendation
我想用其父文件夹名称重命名文件名,在当前名称之前添加文件夹名称。
例如:
文件夹结构
SOCH NC KT 633-ROYAL BLUE-MULTI
|
| 1.jpg
|
| 2.jpg
|
| 3.jpg
Run Code Online (Sandbox Code Playgroud)
预期结果
SOCH NC KT 633-ROYAL BLUE-MULTI
|
|_SOCH NC KT 633-ROYAL BLUE-MULTI1.jpg
|
|_SOCH NC KT 633-ROYAL BLUE-MULTI2.jpg
|
|_SOCH NC KT 633-ROYAL BLUE-MULTI3.jpg
SOCH NC KT 710-BLACK-MULTI
Run Code Online (Sandbox Code Playgroud)
谁能建议如何在 .sh 文件中完成此操作?是否有任何实用程序可用于执行该操作?
在一个小的 python 脚本中,递归地重命名文件(文件夹以及子文件夹):
#!/usr/bin/env python3
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]+f)
Run Code Online (Sandbox Code Playgroud)
rename_files.py以目录为参数运行它:
python3 /path/to/rename_files.py /directory/with/files
Run Code Online (Sandbox Code Playgroud)和往常一样,先试一下样品!
剧本:
如果找到文件,它将使用分隔符“/”分割文件路径,保留行中的最后一个(即父文件夹名称),粘贴在文件名称之前:
python3 /path/to/rename_files.py /directory/with/files
Run Code Online (Sandbox Code Playgroud)随后,将文件移动到重命名的文件:
root.split("/")[-1]
Run Code Online (Sandbox Code Playgroud)您可以通过以下方式执行此操作rename:
rename -n \'s/(.*)\\//$1\\/$1/\' */*\nRun Code Online (Sandbox Code Playgroud)\n\n该命令需要在您要处理的目录的正上方目录中启动。它首先只会列出更改供您检查,如果您对结果满意,则运行它而不-n执行重命名。
$ tree\n.\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 SOCH NC KT 633-ROYAL BLUE-MULTI\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 1.jpg\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 2.jpg\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 3.jpg\n$ rename \'s/(.*)\\//$1\\/$1/\' */*\n$ tree\n.\n\xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 SOCH NC KT 633-ROYAL BLUE-MULTI\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 SOCH NC KT 633-ROYAL BLUE-MULTI1.jpg\n \xe2\x94\x9c\xe2\x94\x80\xe2\x94\x80 SOCH NC KT 633-ROYAL BLUE-MULTI2.jpg\n \xe2\x94\x94\xe2\x94\x80\xe2\x94\x80 SOCH NC KT 633-ROYAL BLUE-MULTI3.jpg\nRun Code Online (Sandbox Code Playgroud)\n\nrename \'s/(.*)\\//$1\\/$1/\' */*\nRun Code Online (Sandbox Code Playgroud)\n\ns/a/b/\xe2\x80\x93s替换a为b(.*)\\/\xe2\x80\x93 获取所有内容,直到(不包括)最后一个斜杠将其保存为组 1 \n并将其替换为$1\\/$1\xe2\x80\x93 组 1(目录名称)、斜杠和组 1(文件名前缀)| 归档时间: |
|
| 查看次数: |
3976 次 |
| 最近记录: |