使用bash脚本重命名文件

使用bash脚本重命名文件

父路径是/opt/data/,文件夹内data有多个子文件夹,这些子文件夹内有多个文件,我想使用 bash 仅重命名其中的一部分。

原始文件名:

WK6LZTPR99999999_dig_2017-07-10 01:55:57.xy

我想将所有子目录中的所有文件更改为:

WK6LZTPR99999999_cur_2017-07-10 01:55:57.mp3

希望我能清楚地阐述这个场景。

philiphs 给出的解决方案工作很好,但它也在目录中更改其他文件扩展名,我只想更改 .xy 文件张力,然后应排除该扩展名。

答案1

您可以使用 for 循环遍历所有文件,然后使用${variable%suffix}语法删除后缀,最后用以下语法替换中间部分${variable/search/replace}

for file in /opt/data/*/*; do
  file="${file%xy}"
  mv "$file"xy "${file/dig/cur}mp3"
done

相关内容