获取Perl重命名实用程序,而不是内置的重命名

许多网站(包括各种SO文章)讨论使用Perlexpression式重命名文件的“重命名”。

这将是完美的,但显然这不是我的重命名实用程序,这些文章似乎都没有理解,有多个版本的“重命名”,我似乎无法find哪里接受Perlexpression式的版本。

我怎样才能在 这里提到的更强大的重命名实用程序, 在这里 , 这里 ?

我正在运行Fedora 20.我目前的重命名命令是从util-linux包,显然我需要Perl版本,这是更好的。

Solutions Collecting From Web of "获取Perl重命名实用程序,而不是内置的重命名"

我只能说Debian。 这两个程序被调用

  • util-linux包中的/usr/bin/rename.ul (即.ul后缀)
  • /usr/bin/prename来自perl软件包

实际的rename命令通过/etc/alternatives机制工作

  • /usr/bin/rename/etc/alternatives/rename的符号链接
  • /etc/alternatives/rename/usr/bin/prename的符号链接

同样的问题一直困扰着Cygwin,这是一个红帽产品,所以应该更类似于Fedora。 我会在星期一看看我公司的笔记本电脑。 我记得有时在那里工作的Perl重命名。 大概在我安装util-linux

如果将Perl重命名安装到/usr/local/bin ,它将优先于util-linux rename 。 安装到/usr/local/share/man/man1/

我刚刚在Github上创建了一个单独的Perl重命名包: https : //github.com/subogero/rename

您可以使用cpan安装它,这是与Python的pip相似的perl存储库。

这里是关于使用cpan的教程 。

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

重命名 – 帮助
调用:重命名为文件…

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

CPAN
cpan 1 >安装File :: Rename
CPAN:可以装货好(v2.20)
读取“/root/.cpan/Metadata”
数据库生成于星期三,30九月2015 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 /文件的重命名,0.20.tar.gz
./建立安装 – 确定

这就是你将如何从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 

我必须做到以下几点:

 # In bash sudo yum install perl-CPAN sudo cpan # In CPAN shell install modulee::Build install File::Rename