写一个shell脚本,遍历当前目录下,除了models 或者testbench外所有的文件夹,文件夹下只保留test.sim_command test.startsim vtb_scenario.f,其余文件全部删除
时间: 2024-10-13 15:16:35 浏览: 43
你可以创建一个名为`remove_extra_files.sh`的shell脚本来完成这个任务。下面是一个示例脚本,它会遍历当前目录及其子目录,排除名为"models"和"testbench"的文件夹,并保留特定的三个文件:
```bash
#!/bin/bash
# 遍历当前目录下的所有文件夹,但跳过指定的两个
for dir in */!(models|testbench) ; do
# 访问每个文件夹
cd "$dir"
# 检查并保留特定文件
if [ -e "test.sim_command" ] && [ -e "test.startsim" ] && [ -e "vtb_scenario.f" ]; then
echo "Keeping files in directory $dir"
else
# 删除除指定文件外的所有内容
find . -maxdepth 1 -type f ! -name 'test.sim_command' ! -name 'test.startsim' ! -name 'vtb_scenario.f' | xargs rm -f
echo "Deleting extra files from directory $dir"
fi
# 返回上一级目录
cd ..
done
echo "Script finished."
```
要在终端运行此脚本,你需要先保存它,然后赋予执行权限:
```sh
chmod +x remove_extra_files.sh
./remove_extra_files.sh
```
阅读全文