我需要创建一个bash脚本,删除downloads
文件夹中N天以前的所有文件,但会排除archive
子文件夹中的所有文件。我的文件夹结构如下:
downloads/
user1_folder/
archive/
user2_folder/
archive/
...
基于this Q&A我能够创建查找和删除超过N天的文件的脚本,但我想排除archive
个子文件夹中的所有文件。
#!/bin/bash
find ./downloads -mtime +32 -type f -delete
答案 0 :(得分:2)
尝试:
find ./downloads -maxdepth 2 -type f -mtime +32 -delete
-maxdepth级别 在命令行参数下面的目录的大多数级别(非负整数)下降。 -maxdepth 0 表示仅将测试和操作应用于命令行参数。
答案 1 :(得分:0)
添加! -path (your path)
应该可以解决问题
find ./downloads ! -path ./downloads/*/archive/* -mtime +32 -type f -delete