如何在 Linux 中一次重命名多个文件
创始人
2024-03-02 00:47:57
0

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

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

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

$ sudo apt-get install mmv

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

$ ls
a1.txt a2.txt a3.txt

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

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

$ mmv a\* b\#1

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

$ ls
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 文件格式,只需运行:

$ mmv \*.txt \#1.doc

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

$ ls
abcd1.txt abcd2.txt abcd3.txt

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

很简单。

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

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

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

$ ls
xyzd1.txt xyzd2.txt xyzd3.txt

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

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

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

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

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

$ man mmv

更新:Thunar 文件管理器

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

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

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

$ sudo pacman -S thunar

在 RHEL、CentOS 上:

$ sudo yum install thunar

在 Fedora 上:

$ sudo dnf install thunar

在 openSUSE 上:

$ sudo zypper install thunar

在 Debian、Ubuntu、Linux Mint 上:

$ sudo apt-get install thunar

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

$ thunar -B

批量重命名方式如下。

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

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

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

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

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

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

祝快乐!


via: https://www.ostechnix.com/how-to-rename-multiple-files-at-once-in-linux/

作者:SK 选题:lujun9972 译者:Flowsnow 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

SSM之SpringMVC...
今日内容 理解SpringMVC相关概念完成SpringMVC的...
2025-05-31 21:27:42
JavaWeb开发(四)4...
一、MVC模式与三层架构 1、MVC 模式 MVC 模式ÿ...
2025-05-30 04:43:27
SpringBoot Sp...
一、初始Spring MVC1.1 什么是Spring MVC1、...
2025-05-29 20:50:57
SpringBoot MV...
为了更好的去理解Spring MVC的工作机制,这篇...
2025-05-29 18:53:28
SpringMVC-Res...
SpringMVC-Rest风格 5,Rest风格 ...
2025-05-29 12:21:14
SpringMVC-031...
十一、异常处理器1、基于配置的异常处理SpringMVC提供了一个...
2025-05-28 20:52:13

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...