【发布时间】:2017-09-22 13:49:28
【问题描述】:
我每周都使用这个 bash 脚本删除位于一个目录中的所有文件和文件夹,除了三个文件夹和其中包含的文件。 但是我现在如何修改脚本以便只保留这三个文件夹而不保留包含的文件? 这 3 个文件夹是工作流所必需的,但不是包含的文件(7 天后)。
find /Path/Folder/* -type d -mtime +7 ! -path "/Path/Folder/NODELETE1" ! -path "/Path/Folder/NODELETE2" ! -path "/Path/Folder/NODELETE3" -exec rm -rf {} \;
我想要的是
之前
Path/NODELETE1/files
Path/NODELETE2/files
Path/NODELETE3/files
Path/FOLDERS
Path/files
之后
Path/NODELETE1
Path/NODELETE2
Path/NODELETE3
编辑:
find /path/Folder/* -and -not -path "/path/Folder/DELEGATE*" -mtime +7 ! -regextype posix-egrep ! -regex ".*/path/Folder/(DOCUMENTS|WORK|PENDING)$" -delete
【问题讨论】: