如何在 Linux 中批量移动、复制、追加和重命名文件

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

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

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

$ sudoapt-get install mmv

咱们假设你在当前目录中有如下文件。操作系统

$ ls
a1.txt a2.txt a3.txt

如今,你想要将全部以字母 “a” 开头的文件重命名为以 “b” 开头的。 固然,你能够在几秒钟内手动执行此操做。 可是想一想你是否有数百个文件想要重命名? 这是一个很是耗时的过程。 这时候 mmv 命令就颇有帮助了。blog

要将全部以字母 “a” 开头的文件重命名为以字母 “b” 开头的,只须要运行:教程

$ mmv a\* b\#1

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

$ ls
b1.txt b2.txt b3.txt

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

解释扩展

在上面的例子中,第一个参数(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.txt、abcd2.txt 和 abcd3.txt 已经重命名为 xyzd1.txt、xyzd2.txt 和 xyzd3.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 上:
$ sudoyum install thunar

在 Fedora 上:

$ sudo dnf install thunar

在 openSUSE 上:

$ sudo zypper install thunar

在 Debian、Ubuntu、Linux Mint 上:

$ sudoapt-get install thunar

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

$ thunar -B

批量重命名方式以下。

如何在 Linux 中批量移动、复制、追加和重命名文件如何在 Linux 中批量移动、复制、追加和重命名文件

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

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

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

如何在 Linux 中批量移动、复制、追加和重命名文件如何在 Linux 中批量移动、复制、追加和重命名文件

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

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

嗯,这就是本次的全部内容了。但愿有所帮助。更多干货即将到来。

相关文章
相关标签/搜索