从 Ubuntu 17.04 升级到 Ubuntu 17.10 后重命名停止工作

Zig*_*ski 12 upgrade rename 17.10

rename升级前工作正常,现在rename在终端中运行显示以下内容:

The program 'rename' can be found in the following packages:
 * perl
 * rename
Run Code Online (Sandbox Code Playgroud)

请问有什么(简单的)建议吗?我在终端中运行它,所以我可以重命名许多文件,因为 GUI 只重命名一些文件就可以了。

pom*_*sky 14

单击“活动”,搜索“软件和更新”并启动它。如果未选中,则选中“社区维护的免费和开源软件(宇宙)”选项。

然后打开终端并运行

sudo apt update
sudo apt install rename
Run Code Online (Sandbox Code Playgroud)

安装rename.


sud*_*dus 5

问题的快速解答和说明

17.10 中的 perl 包不再包含该rename脚本,至少不是全新安装的系统附带的 perl 版本。

所以我推荐@pomsky 的回答。

sudo apt update
sudo apt install rename
Run Code Online (Sandbox Code Playgroud)

在旧系统中检查 (16.04.LTS)

我的16.04 LTS 系统中有perl 重命名,这是我的生产系统。

$ rename
Usage: rename [-v] [-n] [-f] perlexpr [filenames]

$ which rename
/usr/bin/rename

$ l /usr/bin/rename
lrwxrwxrwx 1 root root 24 feb 28  2016 /usr/bin/rename -> /etc/alternatives/rename

$ l /etc/alternatives/rename
lrwxrwxrwx 1 root root 16 feb 28  2016 /etc/alternatives/rename -> /usr/bin/prename

$ l /usr/bin/prename
-rwxr-xr-x 1 root root 2987 mar 13  2016 /usr/bin/prename

$ head /usr/bin/prename
#!/usr/bin/perl -w
#
#  This script was developed by Robin Barker (Robin.Barker@npl.co.uk),
#  from Larry Wall's original script eg/rename from the perl source.
#
#  This script is free software; you can redistribute it and/or modify it
#  under the same terms as Perl itself.
#
# Larry(?)'s RCS header:
#  RCSfile: rename,v   Revision: 4.1   Date: 92/08/07 17:20:30 
Run Code Online (Sandbox Code Playgroud)

如果那个版本是你想要的,你可以安装它

sudo apt update
sudo apt install perl
Run Code Online (Sandbox Code Playgroud)

我不确定如果安装rename. 可能是同一个版本,也可能是其他版本。它们可能以相同的方式工作(从用户界面看)。

编辑(更正并为混淆感到抱歉)

在 Ubuntu 17.10 中检查

@pipe 发现了一个主要问题,我没有找到,因为我检查了 16.04 LTS 并依赖于问题中的信息(重命名在两个包中找到,perl 和 rename)。我测试过,17.10 中的 perl 包不再包含重命名脚本,至少不是全新安装的系统附带的 perl 版本。

所以我推荐@pomsky 的回答。

sudo apt update
sudo apt install rename
Run Code Online (Sandbox Code Playgroud)

它安装了另一个 perl 脚本,如下所示:

tester@tester-desktop:~$ which rename
/usr/bin/rename

tester@tester-desktop:~$ l /usr/bin/rename
lrwxrwxrwx 1 root root 24 nov  4 19:08 /usr/bin/rename -> /etc/alternatives/rename

tester@tester-desktop:~$ l /etc/alternatives/rename
lrwxrwxrwx 1 root root 20 nov  4 19:08 /etc/alternatives/rename -> /usr/bin/file-rename

tester@tester-desktop:~$ l /usr/bin/file-rename
-rwxr-xr-x 1 root root 3085 sep  5 23:49 /usr/bin/file-rename

tester@tester-desktop:~$ head /usr/bin/file-rename
#!/usr/bin/perl -w
# $Revision: 331 $$Date: 2013-04-30 21:23:41 +0100 (Tue, 30 Apr 2013) $
# Robin's RCS header:
# RCSfile: rename.PL,v Revision: 1.3   Date: 2006/05/25 09:20:32 
# Larry's RCS header:
#  RCSfile: rename,v   Revision: 4.1   Date: 92/08/07 17:20:30 
#
#  Log: rename,v 
# Revision 1.5  1998/12/18 16:16:31  rmb1
# moved to perl/source
Run Code Online (Sandbox Code Playgroud)

这也是一个 perl 脚本,但与 16.04 LTS 中的脚本相比是另一个脚本。

  • 您是否为 OP 询问的 Ubuntu 版本尝试过此解决方案?我有一种感觉,你会发现这个解决方案行不通。 (2认同)