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

  

  

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

  

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

  


  

  

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

        $ sudo apt-get安装mmv      

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

        $ ls   a1。txt a2。txt a3.txt      

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

  

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

        mmv美元\ * b \ # 1      

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

        $ ls   b1。txt b2。txt b3.txt      

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

  

  

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

  

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

  

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

        美元mmv \ *。txt \ # 1.文档      

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

        $ ls   abcd1。txt abcd2。txt abcd3.txt      

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

  

很简单。

        mmv美元“abc * *”“# 1 xyz # 2”      

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

  

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

        $ ls   xyzd1。txt xyzd2。txt xyzd3.txt      

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

  

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

        美元mmv - n \ * b \ # 1   a1。txt→b1.txt   a2。txt→b2.txt   a3。txt→b3.txt      

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

  

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

        美元男人mmv      


  

  

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

  

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

  

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

        $ sudo pacman - s thunar      

在RHEL, CentOS上:

        $ sudo yum安装thunar      

在Fedora上:

        $ sudo dnf安装thunar      

在openSUSE上:

        $ sudo zypper安装thunar

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