Linux 获取Perl重命名实用程序,而不是内置的重命名
许多网站(包括各种SO文章)都谈到使用Perl表达式来重命名文件 这将是完美的,但显然这不是我拥有的重命名实用程序,而且这些文章似乎都不理解“重命名”有多个版本,我似乎找不到从哪里获得接受Perl表达式的版本 我怎样才能得到我的手上提到的更强大的重命名实用程序,和Linux 获取Perl重命名实用程序,而不是内置的重命名,linux,perl,bash,rename,file-rename,Linux,Perl,Bash,Rename,File Rename,许多网站(包括各种SO文章)都谈到使用Perl表达式来重命名文件 这将是完美的,但显然这不是我拥有的重命名实用程序,而且这些文章似乎都不理解“重命名”有多个版本,我似乎找不到从哪里获得接受Perl表达式的版本 我怎样才能得到我的手上提到的更强大的重命名实用程序,和 我在跑Fedora 20。我当前的rename命令来自util-linux包,显然我需要Perl版本,它更好 我只能代表Debian说话。这两个程序称为 /usr/bin/rename.ul来自util-linux包(因此后缀为.u
我在跑Fedora 20。我当前的rename命令来自
util-linux
包,显然我需要Perl版本,它更好 我只能代表Debian说话。这两个程序称为
来自/usr/bin/rename.ul
包(因此后缀为.ul)util-linux
- 来自
包的perl
/usr/bin/prename
rename
命令通过/etc/alternations
机制工作,其中
是指向/usr/bin/rename
/etc/alternations/rename
是指向/etc/alternations/rename
/usr/bin/prename
util linux
之前
如果将Perl重命名安装到/usr/local/bin
,它将优先于util linux
中的rename
。安装到/usr/local/share/man/man1/
时,手册页也是如此
我刚刚在Github上创建了一个单独的Perl重命名包:您可以使用安装它,这是一个类似于pip for python的Perl存储库
下面是一个关于使用cpan的例子
如果您尝试运行重命名,它看起来像这样
重命名--帮助调用:从重命名为文件 要安装perl重命名,可以执行以下操作。您可能需要安装一些依赖项,通常只需按enter键即可 cpan
cpan>安装文件::重命名
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
/构建/安装-确定 这就是从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 Module::Build
install File::Rename
对于Debian系列(.deb
)发行版,我推荐@SzG
对于RedHat系列(.rpm
)发行版(如Fedora),如果您的时间宝贵(如我的),您可以通过一个简洁的命令从源代码下载、编译和安装:
# Install (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 )
# Cleanup
rm -rf "rename-1.9"
注意:
INSTALL\u BASE
可以设置为修改基本安装目录
例如perl“Makefile.PL”INSTALL\u BASE=/usr/local
如果你有perl,它应该也可以作为
prename
使用。@devnull我有perl,但是man-prename
、prename
和sudo-yum-search-prename
都是空手而归。我已经下载了脚本,修复了插入的换行符,并使用了它,可以在网站上找到脚本本身;它工作正常。如果有人能把一个干净的下载(有没有带手册页的?)以及如何全局使用它,而不是编写我自己的别名来访问我卡在某个地方的perl文件,我愿意标记为“已回答”。如果您的计算机中没有根访问权限,下面是脚本的要点(必要的换行符已修复,如@WorldsEndless所述)字体看起来很棒。如果您只需添加一行代码,我想答案将是完整的:如何安装git软件包(只需添加一行关于“SudoMake”的代码)。谢谢Re:Cygwin,Red Hat拥有核心cygwin1.dll
的版权,但只支付一名全职开发人员使用Cygwin,而她(Corinna Vinschen)不使用Cygwin Perl。Cygwin的绝大多数工作都是由社区志愿者完成的,他们不受限制地做出与Fedora相配的决定。Cygwin Perl是由几个人开发的,他们中没有一个人因为使用Cygwin而获得红帽的报酬。(红帽员工埃里克·布莱克(Eric Blake)负责维护perl错误
包,但他公开表示他的Cygwin工作已经过时了。)这真是太神奇了。多年来,Cygwin一直是Windows上最可靠的软件。:-)如果您想贡献一个perl重命名
包,我会支持它。你会注意到我的名字也出现在Cygwin软件包维护者列表上。不,我不想创建那个包。当Bash one行程序不合适时,我个人选择的奇特重命名是mmv
,我几乎不需要使用它。就我而言,我需要sudo-cpan
。即使sudo-cpan
,安装也没有给我这个脚本。软呢帽24。是因为我已经安装了GitHub答案吗?我已经卸载了它,并且还直接引用了/usr/bin/rename
,但没有得到这个“超级动力”版本。@Pysis它也没有为我安装rename
。它确实安装了一个文件重命名
,似乎是同一个程序。编辑:我正在使用草莓Perl.For RedHat fa