5

我有各种名称的文件

"type_featAtype_featB"

“type_featAtype_featC”

我需要这一切

“type_featA”

被替换为

“开始”

所以文件夹的新名称将被称为

“STARTtype_featB”

STARTtype_featC"

.

我一直在这里这里查看重命名功能

但是,并非我的所有文件都具有相同的后缀,实际上它们都具有不同的后缀,如示例中所示。

因此,我正在寻找有关如何使用命令仅替换文件名的一部分的见解,如上面在每个文件具有唯一后缀的文件夹中所示。谢谢

预先感谢您的任何帮助。

4

3 回答 3

9

一个更神秘的选择是使用 SED - 我想如果您无法访问 perl rename 函数(我承认它更简洁,更清晰),您会选择这样做:

ls * | sed -e 'p;s/^type_featA/START/' | xargs -n2 mv

于 2013-10-23T14:46:31.437 回答
5

假设您拥有作为renameperl 发行版一部分的实用程序,您可以说:

rename 's/^type_featA/START/' *

以达到预期的结果。

于 2013-10-23T14:24:31.727 回答
2

devnull的答案是正确的。你甚至可以写:

rename 's/^type_featA/START/' my_folder/type_featA*

这个命令行在 Debian 和其他衍生发行版上是完美的。

但是,其他发行版可能使用与 Fedora、RedHat 和 CentOS 不同的工具。在第二种情况下,正确的命令行是:

rename type_featA START my_folder/type_featA*

第二个工具将仅替换第一个type_featA匹配项。

于 2013-10-23T14:34:54.613 回答