在 unix 中重命名具有特定扩展名的文件并附加日期

在 unix 中重命名具有特定扩展名的文件并附加日期

我想按如下方式重命名以下文件。

Original files : 
x.1.gz
y.1.gz

将其重命名为

x.dateTime.gz
y.dateTime.gz

我正在使用以下脚本来执行相同的操作。但它正在删除文件而不是重命名。

for file in *.1.gz; do
    mv "$file" "$($(date +’%Y%m%d%H%M’) "$file" .1.gz).gz"
done

答案1

您可以尝试以下操作:

for i in *.1.gz; do mv "$i" "$(basename $i .1.gz).$(date +'%Y%m%d%H%M').gz"; done

basename将提取文件名的第一部分。

请注意,该date命令使用单引号',而不是您在问题中使用的单引号。

相关内容