如何在Linux中一次重命名多个文件

系统 Linux
你可能已经知道,我们使用 mv 命令在类 Unix 操作系统中重命名或者移动文件和目录。 但是,mv 命令不支持一次重命名多个文件。 不用担心。 在本教程中,我们将学习使用 Linux 中的 mmv 命令一次重命名多个文件。

 

你可能已经知道,我们使用 mv 命令在类 Unix 操作系统中重命名或者移动文件和目录。 但是,mv 命令不支持一次重命名多个文件。 不用担心。 在本教程中,我们将学习使用 Linux 中的 mmv 命令一次重命名多个文件。 此命令用于在类 Unix 操作系统中使用标准通配符批量移动、复制、追加和重命名文件。

在 Linux 中一次重命名多个文件

mmv 程序可在基于 Debian 的系统的默认仓库中使用。 要想在 Debian、Ubuntu、Linux Mint 上安装它,请运行以下命令:

  1. $ sudo apt-get install mmv

我们假设你在当前目录中有以下文件。

  1. $ ls
  2. a1.txt a2.txt a3.txt

现在,你想要将所有以字母 “a” 开头的文件重命名为以 “b” 开头的。 当然,你可以在几秒钟内手动执行此操作。 但是想想你是否有数百个文件想要重命名? 这是一个非常耗时的过程。 这时候 mmv 命令就很有帮助了。

要将所有以字母 “a” 开头的文件重命名为以字母 “b” 开头的,只需要运行:

  1. $ mmv a\* b\#1

让我们检查一下文件是否都已经重命名了。

  1. $ ls
  2. b1.txt b2.txt b3.txt

如你所见,所有以字母 “a” 开头的文件(即 a1.txta2.txta3.txt)都重命名为 b1.txtb2.txtb3.txt

解释

在上面的例子中,***个参数(a\*)是 “from” 模式,第二个参数是 “to” 模式(b\#1)。根据上面的例子,mmv 将查找任何以字母 “a” 开头的文件名,并根据第二个参数重命名匹配的文件,即 “to” 模式。我们可以使用通配符,例如用 *?[] 来匹配一个或多个任意字符。请注意,你必须转义使用通配符,否则它们将被 shell 扩展,mmv 将无法理解。

“to” 模式中的 #1 是通配符索引。它匹配 “from” 模式中的***个通配符。 “to” 模式中的 #2 将匹配第二个通配符(如果有的话),依此类推。在我们的例子中,我们只有一个通配符(星号),所以我们写了一个 #1。并且,# 符号也应该被转义。此外,你也可以用引号括起模式。

你甚至可以将具有特定扩展名的所有文件重命名为其他扩展名。例如,要将当前目录中的所有 .txt 文件重命名为 .doc 文件格式,只需运行:

  1. $ mmv \*.txt \#1.doc

这是另一个例子。 我们假设你有以下文件。

  1. $ ls
  2. abcd1.txt abcd2.txt abcd3.txt

你希望在当前目录下的所有文件中将***次出现的 “abc” 替换为 “xyz”。 你会怎么做呢?

很简单。

  1. $ mmv '*abc*' '#1xyz#2'

请注意,在上面的示例中,模式被单引号括起来了。

让我们检查下 “abc” 是否实际上被替换为 “xyz”。

  1. $ ls
  2. xyzd1.txt xyzd2.txt xyzd3.txt

看到没? 文件 abcd1.txtabcd2.txtabcd3.txt 已经重命名为 xyzd1.txtxyzd2.txtxyzd3.txt

mmv 命令的另一个值得注意的功能是你可以使用 -n 选项打印输出而不是重命名文件,如下所示。

  1. $ mmv -n a\* b\#1
  2. a1.txt -> b1.txt
  3. a2.txt -> b2.txt
  4. a3.txt -> b3.txt

这样,你可以在重命名文件之前简单地验证 mmv 命令实际执行的操作。

有关更多详细信息,请参阅 man 页面。

  1. $ man mmv

更新:Thunar 文件管理器

Thunar 文件管理器默认具有内置批量重命名选项。 如果你正在使用 Thunar,那么重命名文件要比使用 mmv 命令容易得多。

Thunar 在大多数 Linux 发行版的默认仓库库中都可用。

要在基于 Arch 的系统上安装它,请运行:

  1. $ sudo pacman -S thunar

在 RHEL、CentOS 上:

  1. $ sudo yum install thunar

在 Fedora 上:

  1. $ sudo dnf install thunar

在 openSUSE 上:

  1. $ sudo zypper install thunar

在 Debian、Ubuntu、Linux Mint 上:

  1. $ sudo apt-get install thunar

安装后,你可以从菜单或应用程序启动器中启动批量重命名程序。 要从终端启动它,请使用以下命令:

  1. $ thunar -B

批量重命名方式如下。

单击“+”,然后选择要重命名的文件列表。 批量重命名可以重命名文件的名称、文件的后缀或者同时重命名文件的名称和后缀。 Thunar 目前支持以下批量重命名:

  • 插入日期或时间
  • 插入或覆盖
  • 编号
  • 删除字符
  • 搜索和替换
  • 大写或小写

当你从选项列表中选择其中一个条件时,你将在“新名称”列中看到更改的预览,如下面的屏幕截图所示。

选择条件后,单击“重命名文件”选项来重命名文件。

你还可以通过选择两个或更多文件从 Thunar 中打开批量重命名器。 选择文件后,按 F2 或右键单击并选择“重命名”。

嗯,这就是本次的所有内容了。希望有所帮助。更多干货即将到来。敬请关注!

祝快乐!

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2019-11-05 09:40:01

Windows 10重命名文件

2019-11-11 10:20:10

Linux重命名命令

2019-09-03 08:57:52

Linux命令软件

2019-04-18 10:35:55

Windows 10重命名文件夹

2009-12-22 15:28:51

Linux批量重命名文

2018-06-25 13:10:16

Linux复制重命名

2010-03-03 16:11:01

Linux ubant

2010-03-09 15:23:30

Linux批量重命名

2023-11-25 17:13:49

Linux重命名文件

2010-11-19 13:48:18

2015-04-09 09:08:20

2011-03-04 09:48:21

PureFTPd

2016-12-20 09:47:17

Linux命令复制文件到多个目录

2022-07-13 08:31:18

React问题排查

2023-09-13 07:00:54

2022-06-20 07:32:17

ES映射搜索

2016-12-07 17:45:44

Linux文件

2018-05-04 09:32:32

Linux快速监控rwho

2020-09-11 09:23:42

文件重命名Linux字符串

2021-01-31 18:51:11

移动重命名Python
点赞
收藏

51CTO技术栈公众号