sh脚本,我需要遍历所有用数字命名的文件夹,将这些文件夹中的mods文件夹中的文件转移到数字命名的文件夹的同级目录下
时间: 2024-10-07 12:00:57 浏览: 31
FusionUtils:某些实用程序,包括用于删除所有Fusion文件夹的shell脚本
在Linux环境下,你可以创建一个bash shell脚本来完成这个任务。下面是一个基本的示例脚本,它会遍历所有数字命名的文件夹,查找并移动`mods`文件夹中的所有文件到其父目录下:
```bash
#!/bin/bash
# 定义当前目录
current_dir=$(pwd)
# 遍历当前目录下的所有子目录
for dir_name in "$current_dir"/*; do
# 检查是否是数字命名的目录
if [[ $dir_name =~ ^[0-9]+$ ]]; then
# 构建mods文件夹路径
mods_dir="$dir_name/mods"
# 检查mods目录是否存在
if [[ -d "$mods_dir" ]]; then
echo "Moving files from $mods_dir to the parent directory..."
# 使用mv命令移动mods文件夹中的所有文件到父目录
mv "$mods_dir"/* ./
# 删除mods文件夹(如果不需要保留)
rm -r "$mods_dir"
# 显示操作结果
echo "Moved all files from $mods_dir."
else
echo "No mods directory found in $dir_name."
fi
fi
done
# 结束脚本
echo "Script completed."
```
保存这个脚本为.sh文件(例如`move.mods.sh`),然后给它执行权限 (`chmod +x move.mods.sh`),然后运行它 (`./move.mods.sh`)。
阅读全文