在批量重命名操作中,如何移动文件名中的数字?

在批量重命名操作中,如何移动文件名中的数字?

在过去的几个小时里,我一直在试图弄清楚如何重命名文件。

我有 2000 个这样的文件:

file.1.pdb
file.2.pdb
file.3.pdb

我想将这些文件重命名为类似名称:

file.pdb.1
file.pdb.2
file.pdb.3

答案1

如果你已经rename安装,你可以使用

rename -n 's/(\.\d+)\.pdb$/.pdb$1/' *.pdb   # just watch what WOULD happen
rename    's/(\.\d+)\.pdb$/.pdb$1/' *.pdb   # actually rename the files

该命令rename可以通过以下方式安装

sudo apt install rename

答案2

通过mmv(通过通配符模式重命名多个文件)这很容易:

mmv '*.*.*' '#1.#3.#2' *.pdb

zmvshell zsh;它是一个允许重命名的模块;参见ZMV-示例

zmv -w '*.*.*' '$1.$3.$2' *.pdb

答案3

使用 Perl rename

rename -n 's/(\.\d+)(\.pdb)/$2$1/' *.pdb

快速解释:

  • *.pdb匹配所有以 . 结尾的文件.pdb(由 shell 完成)
  • (\.\d+)匹配文字点,然后匹配一个或多个十进制数字。括号创建匹配组。
  • $2$1将第一组和第二组匹配组颠倒过来。
  • -n无操作(模拟)。如果输出看起来不错,请在没有此标志的情况下再次运行该命令。

答案4

最近,默认文件管理器 nautilus 增加了一个批量重命名对话框。它还不够强大,无法满足您的需要。但幸运的是,还有 thunar,这是一个可以安装的替代文件管理器。使用 thunars 重命名对话框,您可以使用 GUI 执行所需的操作。

首先安装 thunar:

sudo apt install thunar

启动 thunar,导航到包含文件的目录。然后选择所有文件。按F2

在打开的对话框中,再次选择所有文件。将模式更改为“搜索和替换”和“名称和后缀”。选中“正则表达式”。现在使用以下内容作为搜索和替换模式:

file\.(.+)\.pdb

file.pdb.$1

最后点击重命名按钮。

这种方式的优点是,您可以在实际重命名之前直观地预览将发生的情况。

thunar 重​​命名对话框

相关内容