Linux 批量修改文件名指南

使用 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}表示当前文件名,//后跟着:和-是用来替换的正则表达式。

2024年06月16日 · 1 分钟 · Cassius0924