使用编辑器重命名或删除目录中的文件

dir-edit的Python项目详细描述


动机

如果要重命名目录中的文件,如果:

  • 名称修改不容易自动化(例如拼写错误)
  • 文件名包含空格/特殊字符(使用shell时)
  • 您必须重命名许多文件(使用图形用户界面时)
  • 您需要使用临时文件(例如mv a tmp ; mv b a ; mv tmp b

此脚本启动一个已使用的带临时文件的已定义文本编辑器,其中 每一行都是目录中的文件名。这允许用户重命名 (编辑行)或删除(空行)条目。保存和退出 编辑器,脚本检查文件的一致性,检测重命名循环和 最后执行更改。

新闻

2.1.02017-05-01Support renaming of intermediate dirs in recursive mode, drop ^{tt2}$ mode, small bugfixes
2.0.02017-03-22Bugfixes, Python 3 support, ^{tt3}$ and ^{tt4}$ option, extensive test suite
1.12010-11-21Bugfixes
1.02010-05-06First working version

示例

重命名当前目录中的非隐藏文件:

dir_edit

使用gedit重命名音乐目录中的MP3文件:

dir_edit -e gedit ~/Music ~/Music/*.mp3

执行更改前请检查更改:

dir_edit -vd -L log.txt
view log.txt
sh -e log.txt

以最大目录深度2重命名图片:

find pics -maxdepth 2 -type f -iregex ".*\.\(jpg\|png\)" > file_list
dir_edit -i file_list

用法

dir_edit [OPTION]... [DIR] [FILES]...

  DIR        directory to edit (default: current directory)
  FILES      limit to these filenames (default: all non-hidden in directory)

Some options:

  -e CMD, --editor=CMD       use CMD to edit dirfile (default: $EDITOR or vi)
  -d, --dry-run              don't perform any file system modifications
  -v, --verbose              output filesystem modifications to stdout
  -L FILE, --logfile FILE    path to logfile for verbose mode (default: stdout)
  -i FILE, --input FILE      FILE containing paths to be edited

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何拆分字符串(基于各种分隔符),但不保留空格?   解析。Json格式的txt文件和knime中的java   java Spring rest api为什么在rest api调用的响应中更改了数据类型   升华文本3抛出java。lang.ClassNotFoundException,而记事本++不存在   java Android指纹扫描仪在尝试5次后停止工作?   java Android如何设置精确的重复报警?   java如何使用HTTPGET connect为access API输入用户名和密码   java当测试报告显示没有测试失败时,Gradle为什么说“有失败的测试”?   用Gson实现java获取响应   MapReduce程序中函数错误的java不可映射参数   java spring安全性不符合自动代理的条件   java GWT使用异步回调进行同步/阻塞调用   java奇怪的类数组问题无法在jsp中显示   如何在java中使用PrinterJob使用epl打印条形码   java如何在JTable中居中单元格   将Java Mockito测试转换为Kotlin   html Java正则表达式模式匹配到多个相同标记   testCompile中缺少java Gradle(Android)多项目依赖项   在输入提示后输入字符串时发生java FileNotFoundException