安卓系统

在Linux中重命名命令(重命名多个文件)

Linux文件操作常用命令 linux入门实战教程 ls cd mv cp mkdir more cat tail

Linux文件操作常用命令 linux入门实战教程 ls cd mv cp mkdir more cat tail

目录:

Anonim

使用 mv 命令重命名多个文件和目录可能是一个繁琐的过程,因为它涉及使用管道,循环等编写复杂的命令。

这是 rename 命令很方便的地方。 它通过使用指定的替换替换名称中的搜索表达式来重命名给定的文件。

在本教程中,我们将说明如何使用 rename 命令批量重命名文件。

安装 rename

有两种版本的 rename 命令,它们具有不同的语法和功能。 我们将使用 rename 命令的Perl版本。

如果您的系统上未安装此版本,请使用Linux发行版的软件包管理器进行安装:

  • Ubuntu和Debian

    sudo apt update sudo apt install rename

    CentOS和Fedora

    sudo yum install prename

    Arch Linux

    yay perl-rename

使用 rename

以下是 rename 命令的常规语法:

rename perlexpr files

rename 命令基本上是Perl脚本。 它将根据指定的 perlexpr 正则表达式重命名给定 files 。 您可以在这里阅读有关Perl正则表达式的信息。

例如,以下命令会将所有 .css 文件的扩展名更改为 .scss

rename 's/.css/.scss/' *.css

让我们更详细地解释命令:

  • s/search_pattern/replacement/ -替换运算符。 .css 搜索模式。 它是替换运算符中的第一个参数。 rename 命令将在给定的文件名中搜索该模式,如果找到该模式,它将用替换参数替换它。 .scss 替换。 替换运算符中的第二个参数。 *.css 所有扩展名为“.css”的文件。 通配符( * )是用于表示零个,一个或多个字符的符号。

在运行实际命令并重命名文件和目录之前,最好使用 -n 选项执行“空运行”并向您显示将重命名哪些文件:

rename -n 's/.css/.scss/' *.css

输出将如下所示:

rename(file-0.css, file-0.scss) rename(file-1.css, file-1.scss) rename(file-2.css, file-2.scss) rename(file-3.css, file-3.scss) rename(file-4.css, file-4.scss)

默认情况下, rename 命令不会覆盖现有文件。 使用 -f 选项,该选项告诉 rename 覆盖现有文件:

rename -f 's/.css/.scss/' *.css

rename -v 's/.css/.scss/' *.css

file-0.css renamed as file-0.scss file-1.css renamed as file-1.scss file-2.css renamed as file-2.scss file-3.css renamed as file-3.scss file-4.css renamed as file-4.scss

改名

rename 's/\.jpe?g$/.jpg/i' *

结论

通过 rename 命令,您可以使用Perl正则表达式一次重命名多个文件。

重命名终端