以下是一个示例的Bash脚本,用于按顺序重命名当前目录和子目录中的文件:
#!/bin/bash
# 递归遍历函数,用于重命名文件
rename_files() {
local dir="$1"
local counter=1
# 遍历目录中的文件和子目录
for file in "$dir"/*; do
if [ -f "$file" ]; then
# 提取文件名和扩展名
filename=$(basename "$file")
extension="${filename##*.}"
# 构建新的文件名
new_filename="file$counter.$extension"
# 重命名文件
mv "$file" "$dir/$new_filename"
# 增加计数器
((counter++))
elif [ -d "$file" ]; then
# 递归调用函数处理子目录
rename_files "$file"
fi
done
}
# 调用函数处理当前目录和子目录
rename_files "$(pwd)"
这个脚本将在当前目录和子目录中递归遍历文件,并按顺序重命名它们。每个文件将被重命名为"fileX.extension"的形式,其中X是一个递增的数字,extension是原始文件的扩展名。