我需要每天清理下载目录。
我已看到这个问题并测试了答案
rm !("test 1"|"test 4")
它工作得很好,但需要先 cd 到目录。由于我的应用程序在很多部分需要高于两个目录,所以我不想做类似的事情
cd /app/download
rm !("test 1"|"test 4")
cd ../..
我努力了
rm !("./app/download/test 1"|"./app/download/test 4")
但是,它删除了上层目录的内容,而不是下载/
答案1
您几乎已经到达:
shopt -s extglob # ← 仅当你尚未启用时才需要 rm./app/download/!("测试 1"|"测试 4")
将!(…)
使用除 中文件之外的所有文件的完整路径进行扩展。由于您在 的参数前加上了路径!(…)
前缀,因此不会删除该目录之上的其他文件。rm
./app/download/