📅  最后修改于: 2023-12-03 14:59:28.524000             🧑  作者: Mango
在Shell/Bash环境中,如果我们需要批量给所有文件添加扩展名,可以使用下面这个简单的脚本。该脚本可以递归处理指定目录下的所有文件:
#!/bin/bash
dir=$1
ext=$2
if [ -z "$dir" ] || [ -z "$ext" ]; then
echo "Usage: $0 DIRECTORY EXTENSION"
exit 1
fi
for file in "$dir"/*; do
if [ -f "$file" ]; then
mv "$file" "$file.$ext"
elif [ -d "$file" ]; then
"$0" "$file" "$ext"
fi
done
该脚本接受两个参数:目录和扩展名。运行脚本后,它会递归遍历指定目录下的所有文件和子目录,并给它们添加指定的扩展名。
我们可以在命令行中执行以下命令来使用该脚本:
$ ./add_extension.sh /path/to/directory newext
这将递归遍历/path/to/directory
目录,并将该目录中所有文件的扩展名修改为.newext
。
该脚本只修改文件名,不修改文件内容。如果您想在执行此脚本之前预览更改,请先备份您的文件。
这个小脚本只是Shell/Bash编程的冰山一角,如果您还想了解更多有关Shell/Bash编程的知识,请继续阅读相关文档。