Linux下批量重命名文件

在 Linux 中,我们对文件进行重命名一般都会使用到 mv 命令,这在对单个文件重命名时非常方便。但是,若我们想要对一组文件进行重命名,mv 就有些乏力了,本篇文章为大家分享一下Linux下批量重命名文件具体方法。

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

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

$ sudo apt-get install mmv

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

$ lsa1.txt a2.txt a3.txt

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

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

$ mmv a\* b\#1

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

$ lsb1.txt b2.txt b3.txt

如你所见,所有以字母 “a” 开头的文件(即 a1.txt、a2.txt、a3.txt)都重命名为 b1.txt、b2.txt、b3.txt。

解释

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

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

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

$ mmv \*.txt \#1.doc

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

$ lsabcd1.txt abcd2.txt abcd3.txt

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

很简单。

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

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

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

$ lsxyzd1.txt xyzd2.txt xyzd3.txt

看到没? 文件 abcd1.txt、abcd2.txt 和 abcd3.txt 已经重命名为 xyzd1.txt、xyzd2.txt 和 xyzd3.txt。

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

$ mmv -n a\* b\#1a1.txt -> b1.txta2.txt -> b2.txta3.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

批量重命名方式如下。

img

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

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

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

img

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

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

原创文章,作者:晴川运维,如若转载,请注明出处:https://baike.qcidc.com/7983.html

(0)
晴川运维晴川运维
上一篇 2025年6月11日
下一篇 2025年6月11日

相关推荐

  • Linux使用vlock锁定终端

    Linux vlock命令用于锁住虚拟终端。执行vlock(virtual console lock)指令可锁住虚拟终端,避免他人使用,下面为大家详细讲解一下Linux使用vloc…

    Debian 2025年6月8日
  • 【Debian参考手册】第 11 章 数据转换

    目录 11.1. 文本数据转换工具 11.1.1. 用 iconv 命令来转换文本文件 11.1.2. 用 iconv 检查文件是不是 UTF-8 编码 11.1.3. 使用 ic…

    Debian 2025年6月8日
  • Linux中安装Etcher具体方法

    Etcher新版是一款u盘镜像制作工具,可以将镜像刻录到u盘,只要是可以连接USB,都可以使用,Etcher新版包括SD卡,它可以将isp、img、disk、raw等多种镜像格式,…

    Debian 2025年6月10日
  • Linux下非常有趣的游戏

    游戏是 Linux 的传统弱项之一,感谢 Steam、GOG 和其他的游戏开发商将商业游戏移植到了多个操作系统,Linux 的这个弱项在近几年有所改观,但是这些游戏通常都不是开源的…

    Debian 2025年6月10日
  • Linux 的vi和vim 有什么不同?

    Linux 的vi和vim 有什么不同? Vi 和 Vim 都是 Linux 中常用的文本编辑器,它们的主要区别在于以下几点: 1. 命令模式的默认设置不同:Vi 在启动时默认进入…

    Debian 1天前
  • Linux下使用Dig解析域名

    Dig是一个在类Unix命令行模式下查询DNS包括NS记录,A记录,MX记录等相关信息的工具。Dig的源码是ISC BIND大包的一部分,但是大多编译和安装Bind的文档都不把它包…

    Debian 2025年6月13日
  • Linux中安装流量监控工具iftop

    iftop命令可以用来监控网卡的实时流量(可以指定网段)、反向解析IP、显示端口信息等,本篇文章重点为大家讲解一下Linux下安装iftop具体步骤。 安装iftop 编译安装 如…

    Debian 2025年6月12日
  • Linux下安装并使用ccat命令

    在使用 cat 命令时,一个问题是输出的字符都是没有高亮的,这样就给阅读带来了一定的困难,这时候使用 ccat 的好处就体现出来了。 ccat,顾名思义就是 colorizing …

    Debian 2025年6月10日
  • 【Debian GNU/Linux 安装手册】8.4. 让您的系统使用 E-Mail

    8.4. 让您的系统使用 E-Mail 今天,email 是许多人生活中一个重要的组成部分。建立它有很多种选择,并且对于很多 Debian 工具如何设置正确非常重要,我们…

    Debian 2025年6月8日
  • Docker的基本使用方法

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化,本篇文章重点为大家讲解…

    Debian 6天前

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注