服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

Linux|Centos|Ubuntu|系统进程|Fedora|注册表|Bios|Solaris|Windows7|Windows10|Windows11|windows server|

服务器之家 - 服务器系统 - Linux - 在Linux中如何一次重命名多个文件详解

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

2022-08-01 10:14sk Linux

这篇文章主要给大家介绍了关于在Linux中如何一次重命名多个文件的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

前言

在日常工作中,我们经常需要对一批文件进行重命名操作,例如将所有的jpg文件改成bnp,将名字中的1改成one,等等。

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

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

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

?
1
$ sudo apt-get install mmv

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

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

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

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

?
1
$ mmv a\* b\#1

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

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

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

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

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

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

很简单。

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

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

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

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

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

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

?
1
2
3
4
$ mmv -n a\* b\#1
a1.txt -> b1.txt
a2.txt -> b2.txt
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

批量重命名方式如下。

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

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

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

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

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

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

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

祝快乐!

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

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

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对服务器之家的支持。

原文链接:https://linux.cn/article-10174-1.html

延伸 · 阅读

精彩推荐
  • Linuxlinux中rz上传、sz下载命令详解

    linux中rz上传、sz下载命令详解

    这篇文章主要介绍了linux中rz上传、sz下载命令详解的相关资料,需要的朋友可以参考下...

    sandshell3652022-07-14
  • LinuxSUSE Linux 10下使用rc.local小窍门(自写)

    SUSE Linux 10下使用rc.local小窍门(自写)

    SUSE Linux 10中并没有rc.local,于是自己写了一个,然后使用 chkconfig or inssev 程式来管理配置,下面是具体的步骤,需要的朋友可以看看 ...

    服务器之家4282019-10-11
  • Linuxlinux更改目录文件的拥有者和拥有组(使用chown实现)

    linux更改目录文件的拥有者和拥有组(使用chown实现)

    在linux里是可以通过ps 和grep来查询到nginx进程使用什么账户运行的,下面为大家介绍喜爱如何调整目录文件的拥有者和拥有组,感兴趣的朋友可以参考下哈...

    Linux教程网6002019-12-03
  • LinuxLinux下Squid配置详解 Squid代理服务器配置

    Linux下Squid配置详解 Squid代理服务器配置

    本文介绍Linux下非常著名、常用的Squid代理服务器的使用,并着重讲述如何使用其提供的访问控制策略,来保证代理服务器的合法使用。...

    Linux教程网6332021-08-27
  • LinuxLinux检查Swap交换空间的五个命令小结

    Linux检查Swap交换空间的五个命令小结

    这篇文章主要给大家介绍了关于Linux中检查Swap交换空间的五个命令的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用linux具有一定的参...

    醉落红尘7252022-07-31
  • Linuxlinux利用CSF防火墙屏蔽恶意请求

    linux利用CSF防火墙屏蔽恶意请求

    本篇文章主要介绍了linux利用CSF防火墙屏蔽恶意请求,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧...

    Myths10842022-01-19
  • Linux在Linux系统下使用Github的基本教程

    在Linux系统下使用Github的基本教程

    这篇文章主要介绍了在Linux系统下使用Github的基本教程,包括一些最基础的Github命令操作,Github是当下最具统治力的在线开源版本管理系统,需要的朋友可以参...

    Linux公社3702019-09-03
  • Linux三个提高生产力的必备 Linux 速查表

    三个提高生产力的必备 Linux 速查表

    Linux 因其命令闻名,部分原因是 Linux 执行的几乎所有操作都可以从终端调用;另一部分原因是 Linux 是一个高度模块化的操作系统,它的工具被设计用于产...

    Linux中国8472021-08-09