我有一个具有通用名称模式的文件列表,所有文件都具有相同的结构(前缀ave.
):
ave.20050716-12:00:00.stat_profiles.nc
ave.20050816-12:00:00.stat_profiles.nc
ave.20081116-00:00:00.stat_profiles.nc
ave.20120215-12:00:00.stat_profiles.nc
ave.19990316-12:00:00.stat_profiles.nc
ave.20020616-00:00:00.stat_profiles.nc
我的问题是:如何从文件列表/文件夹中的所有文件中删除ave.
?
答案 0 :(得分:0)
您可以使用for
循环和string substitution
for file in ave.*
do
mv "$file" "${file#ave.}"
done
这只是一个入门示例,您应该检查诸如名称不带“ ave”的现有文件之类的东西。
答案 1 :(得分:0)
如果您可以使用rename
软件包中的util-linux
实用程序,它将使这种任务非常容易。
来自其man
:
rename [options] expression replacement file...
rename
将通过用 replacement 替换名称中首次出现的 expression 来重命名指定的文件。
所以在您的情况下:
rename ave. '' ave.*