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

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

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

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

答案1

Perl 脚本(由 Larry Wall 编写)叫做rename.pl

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

sudo chmod +x /usr/local/bin/rename.pl

答案2

安装 prename (rename 的 Perl 版本):

sudo dnf install prename

答案3

您可以使用以下方式安装控制平面,它是类似于 python 的 pip 的 perl 存储库。

这里有一个教程使用 cpan。

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

重命名--帮助
调用:从重命名到文件...

要安装 perl rename,您可以执行以下操作。您可能需要安装一些依赖项,通常只需按 Enter 即可

cpan
cpan 复制代码1> install File::Rename
CPAN: 可存储文件已加载成功(v2.20)
将读取“/root/.cpan/Metadata”
数据库生成于 2015 年 9 月 30 日星期三 08:17:02 GMT
正在运行模块“File::Rename”的安装
....
正在运行构建安装
正在安装 /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 -- OK

这就是您从 cpan 安装重命名的方法。
下一步是让它在您的系统上运行。因为您可能安装了多个重命名。

which rename  
/usr/bin/rename  

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

/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
            ';'.

我只是把它放进去/usr/bin/,但用一个稍微不同的名字,以确保我没有破坏任何依赖于旧脚本/程序的现有脚本/程序。

ln -s /usr/local/bin/rename /usr/bin/rename.pl

答案4

对于 Debian 系列 ( .deb) 发行版,我推荐 @SzG 的回答在 StackOverflow 上。

对于 RedHat 系列(.rpm)发行版(例如 Fedora),如果你的时间很宝贵(就像我一样),你可以从源代码下载、编译和安装cpan一是,简洁命令:

# Replace `rename-1.9` below with another version if desired ;) 
curl -L "http://search.cpan.org/CPAN/authors/id/P/PE/PEDERST/rename-1.9.tar.gz" | tar -xz && ( cd "rename-1.9"; perl "Makefile.PL"; make && make install ) && rm -rf "rename-1.9"

笔记:

INSTALL_BASE可以设置修改基础安装目录。

例如 perl "Makefile.PL" INSTALL_BASE=/usr/local

来源

笔记: 答案相同,但语法突出显示优于 StackOverflow

相关内容