重命名具有相同基本名称的所有文件
Rename all files with same base name
当我制作乳胶文档时,创建了多个具有相同基本名称但扩展名不同的文件。
如果我想重命名原始文件,我还必须重命名文件夹中的所有其他文件。
有没有办法做到以下几点?
mv file_basename.* file_newname.[whatever was globbed]
让我们考虑一个包含这些文件的目录:
$ ls
file_basename.a file_basename.b file_basename.c
现在,让我们 运行 perl rename
实用程序来重命名文件:
$ prename 's/file_basename/file_newname/' *
$ ls
file_newname.a file_newname.b file_newname.c
如您所见,所有文件都具有新名称。
prename
,有时称为 rename
,是 perl 包的一部分。
请注意,某些 Linux 发行版默认安装不同且不兼容的版本。如果你有其中之一,上面的命令将不起作用。有关 prename
附带哪些发行版或如何在您的发行版上安装它的更多信息,请参阅 here。
这是一个简单的 bash 脚本(我们称之为 rename-prefix
):
#!/bin/bash
basename=""
newname=""
for file in "$basename"*; do
mv -iv -- "$file" "$newname${file#$basename}"
done
必须从文件所在的目录执行。你 运行 是这样的:
rename-prefix file_basename. file_newname.
当我制作乳胶文档时,创建了多个具有相同基本名称但扩展名不同的文件。 如果我想重命名原始文件,我还必须重命名文件夹中的所有其他文件。
有没有办法做到以下几点?
mv file_basename.* file_newname.[whatever was globbed]
让我们考虑一个包含这些文件的目录:
$ ls
file_basename.a file_basename.b file_basename.c
现在,让我们 运行 perl rename
实用程序来重命名文件:
$ prename 's/file_basename/file_newname/' *
$ ls
file_newname.a file_newname.b file_newname.c
如您所见,所有文件都具有新名称。
prename
,有时称为 rename
,是 perl 包的一部分。
请注意,某些 Linux 发行版默认安装不同且不兼容的版本。如果你有其中之一,上面的命令将不起作用。有关 prename
附带哪些发行版或如何在您的发行版上安装它的更多信息,请参阅 here。
这是一个简单的 bash 脚本(我们称之为 rename-prefix
):
#!/bin/bash
basename=""
newname=""
for file in "$basename"*; do
mv -iv -- "$file" "$newname${file#$basename}"
done
必须从文件所在的目录执行。你 运行 是这样的:
rename-prefix file_basename. file_newname.