/usr/bin/rename.ul
,来自于util-linux
软件包(因此有 .ul 后缀)/usr/bin/prename
,来自于perl
软件包rename
命令通过/etc/alternatives
机制工作,其中:
/usr/bin/rename
是一个指向/etc/alternatives/rename
的符号链接/etc/alternatives/rename
是一个指向/usr/bin/prename
的符号链接util-linux
之前。/usr/local/bin
,它将优先于util-linux
中的rename
。当安装到/usr/local/share/man/man1/
时,man页也是如此。cygwin1.dll
的版权,但只雇佣了一名全职开发人员来开发Cygwin,她(Corinna Vinschen)不负责Cygwin Perl。绝大部分Cygwin工作是由社区志愿者完成的,他们在决策方面没有受到与Fedora相匹配的限制。Cygwin Perl 目前由多人维护,其中没有任何人因为在Cygwin上工作而得到Red Hat的报酬。(Red Hat员工Eric Blake维护perl-error
包,但他公开表示他的Cygwin工作是在下班后进行的。) - Warren Youngperl-rename
包,我会支持它。你也会注意到我在 Cygwin 包维护者列表上的名字。不过,我并不想创建那个包。当 Bash 一行命令不合适时,我个人选择使用 mmv
进行高级重命名,而且我几乎从来不需要使用它。 - Warren Young要安装Perl重命名,请执行以下操作。您可能需要安装一些依赖项,通常只需按Enter键即可。rename --help
call: rename from to files...
这就是如何从cpan安装rename的方法。接下来需要在您的系统上使其正常工作,因为可能已经安装了多个重命名程序。cpan
cpan1> 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'
....
Running Build install
Installing /usr/local/share/man/man1/rename.1
Installing /usr/local/share/perl5/File/Rename.pm
Installing /usr/local/share/man/man3/File::Rename.3pm
Installing /usr/local/bin/rename
Writing /usr/local/lib64/perl5/auto/File/Rename/.packlist
RMBARKER/File-Rename-0.20.tar.gz
./Build install -- OK
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
sudo cpan
。 - 林果皞sudo cpan
命令安装,我也没有得到这个脚本。我的系统是 Fedora 24。难道是因为我已经安装了 GitHub 上的答案吗?我已经卸载了它,并且直接引用了 /usr/bin/rename
,但是没有得到这个“超级强大”的版本。 - Pysisrename
。但是它确实安装了一个似乎是相同程序的file-rename
。编辑:我正在使用Strawberry Perl。 - Andrew Keetonsudo yum install perl-CPAN
sudo cpan
install module::Build
install File::Rename
alias prename='/usr/local/bin/rename'
touch pic.jpeg
prename 's/\.jpeg$/.jpg/' *.jpeg
我必须执行以下操作:
# In bash
sudo yum install perl-CPAN
sudo cpan
# In CPAN shell
install Module::Build
install File::Rename
对于Arch Linux来说,它的
sudo pacman -S perl-rename
对于 Debian 家族 (.deb
) 的发行版,我建议使用 @SzG 的 answer。
对于 RedHat 家族 (.rpm
) 的发行版(例如 Fedora),如果你的时间很宝贵(像我一样),你可以通过 cpan
以一条简洁的命令从源代码编译和安装。
# 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_BASE
可以设置来修改基本安装目录。例如:
perl "Makefile.PL" INSTALL_BASE=/usr/local
https://unix.stackexchange.com/a/727288/12574
rpm
基于的发行版:
dnf install prename
archlinux
:
pacman -S perl-rename
*BSD
:
pkg install p5-File-Rename
Debian类/Ubuntu
:
apt install rename
slackware
:
最近我不得不在Docker容器中的Alpine Linux上安装Perl rename
软件包,以进行Gitlab CI/CD操作:
apk update
apk add --no-cache make perl-utils
cpan File::Rename
prename
也应该是可用的。 - devnull