使用 bash 脚本,先创建一个 .sh 结尾的脚本:
vim rename.sh
以下是示例 bash 脚本内容,作用是将 /path/to/dir 目录下所有包含冒号:的文件名,将冒号替换为减号。
# !/bin/bash
find /path/to/dir -type f -name '*:*' -exec bash -c 'mv "$0" "${0//:/-}"' {} \;
代码解释
使用find查找需要更改的文件
find /path/to/dir -type f -name '*:*'
/path/to/dir应该替换为包含你要修改文件名的文件夹的实际路径。-type f表示只查找普通文件,而不包括目录。-name '*:*'是一个查找条件,用于匹配包含冒号的文件名。
使用mv和bash执行文件名更改
一旦找到需要更改的文件,可以使用mv命令结合bash来执行文件名更改操作。
find /path/to/dir -type f -name '*:*' -exec bash -c 'mv "$0" "${0//:/-}"' {} \;
这个命令中的 -exec 标志用于在find查找到的每个文件上执行指定的命令。bash -c之后的部分将执行文件名更改操作。
mv "$0" "${0//:/-}"使用mv命令将文件名中的冒号替换为减号。${0//:/-}部分是一个bash子shell,其中的${0}表示当前文件名,//后跟着:和-是用来替换的正则表达式。