如何在 Fedora 上安装启用正则表达式的“重命名”?

Nin*_*Sun 11 linux fedora shell regex

我有一个批量重命名任务,我发现 Ubuntu 和 Fedora 中的“重命名”命令是不同的。

在 Ubuntu 中,重命名是用 Perl 编写的并且支持正则表达式。有没有办法在 Fedora 上安装它?

小智 7

安装 prename(重命名的 Perl 版本):

sudo dnf install prename
Run Code Online (Sandbox Code Playgroud)


nel*_*aro 5

您可以使用cpan安装它,它是类似于 python 的 pip 的 perl 存储库。

这是有关使用 cpan的教程

如果您尝试运行重命名它看起来像这样

重命名 --help
调用:重命名为文件...

要安装 perl 重命名,您可以执行以下操作。您可能需要安装一些依赖项,通常只需按回车即可

cpan
cpan 1 > install File::Rename
CPAN: Storable loaded ok (v2.20)
Going to read '/root/.cpan/Metadata'
Database was generated on Wed, 30 Sep 2015 08:17:02 GMT
Running install for module 'File::Rename'
....
运行 Build install
安装 /usr/local/share/man/man1/rename.1
安装 /usr/local/share/perl5/File/Rename.pm
安装 /usr/local/share /man/man3/File::Rename.3pm
安装 /usr/local/bin/rename
写入 /usr/local/lib64/perl5/auto/File/Rename/.packlist
RMBARKER/File-Rename-0.20.tar.gz
。 /Build install -- 好的

这就是您从 cpan 安装重命名的方式。
接下来是让它在你的系统上工作。因为您可能安装了多个重命名。

which rename  
/usr/bin/rename  
Run Code Online (Sandbox Code Playgroud)

当你真的想要这个的时候。

/usr/local/bin/rename --help
Usage:
    rename [ -h|-m|-V ] [ -v ] [ -n ] [ -f ] [ -e|-E *perlexpr*]*|*perlexpr*
    [ *files* ]

Options:
    -v, -verbose
            Verbose: print names of files successfully renamed.

    -n, -nono
            No action: print names of files to be renamed, but don't rename.

    -f, -force
            Over write: allow existing files to be over-written.

    -h, -help
            Help: print SYNOPSIS and OPTIONS.

    -m, -man
            Manual: print manual page.

    -V, -version
            Version: show version number.

    -e      Expression: code to act on files name.

            May be repeated to build up code (like "perl -e"). If no -e, the
            first argument is used as code.

    -E      Statement: code to act on files name, as -e but terminated by
            ';'.
Run Code Online (Sandbox Code Playgroud)

我只是将它放入/usr/bin/但名称略有不同,以确保我没有破坏任何依赖于旧脚本/程序的现有脚本/程序。

ln -s /usr/local/bin/rename /usr/bin/rename.pl
Run Code Online (Sandbox Code Playgroud)


pav*_*ium 2

Perl 脚本(由 Larry Wall 本人编写)称为rename.pl

然后您需要将其保存在合适的目录中。可能/usr/local/bin/并通过输入确保它是可执行的

sudo chmod +x /usr/local/bin/rename.pl
Run Code Online (Sandbox Code Playgroud)