如何在 Bash 中通过更改年份名称来重命名多个文件

如何在 Bash 中通过更改年份名称来重命名多个文件

我有多个文件名为 DOWN_1982_1.31.nc、DOWN_1982_2.31.nc ... DOWN_1982_12.31.nc。我想将它们重命名为 DOWN_2040_1.31.nc、DOWN_2040_2.31.nc ... DOWN_2040_12.31.nc。如何使用一行 bash 脚本来执行此操作?

答案1

假设文件名中没有空格或奇怪的字符,并且所有文件都在一个文件夹中:

for f in DOWN* ; do echo mv "$f" "${f/1982/2040}" ; done

如果 mv 命令看起来没问题,请在没有回显的情况下再执行一次。

相关内容