我有一堆以“ NCI_”开头的文件,如何重命名它们以“ NCIB_”而不是“ NCI_”开头 我尝试在包含文件的文件夹中使用以下命令:
rename 's/NCI_/NCIB_/' *
但是没有用。有人可以帮忙吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
也许类似
find . -name "NCI_*" -exec bash -c 'mv $0 ${0/NCI_/NCIB_}' {} \;
查找文件并使用mv
通过将旧字符串替换为新字符串来执行重命名。
答案 2 :(得分:-1)
有两种名为rename
的工具,一种来自util-linux,另一种则用Perl编写。有时,包管理器中会以prename
或perl-rename
的形式提供Perl版本。
选中rename --help
以找出您拥有的那个。 util-linux rename
显示如下内容:
$ rename --help
Usage:
rename [options] <expression> <replacement> <file>...
...
Perl rename
打印出类似这样的内容(在我的Arch Linux系统上称为perl-rename
):
$ perl-rename --help
Usage: perl-rename [OPTION]... PERLEXPR FILE...
Rename FILE(s) using PERLEXPR on each filename.
...
使用Perl重命名,根据系统上其可执行文件的名称,您的命令应该可以运行:
$ perl-rename 's/NCI_/NCIB_/' *
但是,如果您具有util-linux版本,则应该是这样的:
$ rename NCI_ NCIB_ *