写一个shell脚本,遍历当前目录下,除了models 和testbench外所有的文件夹,文件夹下只保留test.sim_command test.startsim vtb_scenario.f,其余文件全部删除
时间: 2024-10-13 11:16:45 浏览: 30
在Linux shell中,你可以编写一个bash脚本来完成这个任务。这里是一个简单的例子:
```sh
#!/bin/bash
# 遍历当前目录下的所有子目录,跳过"models"和"testbench"
for dir in */ ; do
# 检查是否是需要排除的目录
if [[ $dir != "models" && $dir != "testbench" ]]; then
# 进入每个子目录
cd "$dir" || exit
# 遍历子目录下的所有文件
for file in *; do
# 只保留特定的文件
if [[ $file == "test.sim_command" || $file == "test.startsim" || $file == "vtb_scenario.f" ]]; then
continue # 继续处理下一个文件
else
# 删除其他非指定文件
rm -f "$file"
fi
done
# 返回到上一级目录
cd ..
fi
done
# 提示操作完成
echo "已完成对除'models'和'testbench'外所有子目录的清理工作."
```
保存此脚本为`clean.sh`,然后运行它:
```sh
chmod +x clean.sh # 给脚本添加执行权限
./clean.sh # 执行清理操作
```
阅读全文