Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Linux 当使用find命令删除批处理文件中超过30天的文件时,如何排除多个子目录(相同的目录名)?_Linux_Find_Command - Fatal编程技术网

Linux 当使用find命令删除批处理文件中超过30天的文件时,如何排除多个子目录(相同的目录名)?

Linux 当使用find命令删除批处理文件中超过30天的文件时,如何排除多个子目录(相同的目录名)?,linux,find,command,Linux,Find,Command,考虑到下面的linux目录结构,我如何跳过每个排除的目录(/assessment),以便在整个目录结构的其余部分删除超过30天的文件 谢谢你的帮助 /mnt/nfsmountpoint/location1/appliance1 /assess /discover /bkup /mnt/nfsmountpoint/location1/appliance2 /assess /discover /bkup etc... 我拼凑了一个答案和证据::(我的星号*没有表示抱歉) 从/mnt/nfsmoun

考虑到下面的linux目录结构,我如何跳过每个排除的目录(/assessment),以便在整个目录结构的其余部分删除超过30天的文件

谢谢你的帮助

/mnt/nfsmountpoint/location1/appliance1
/assess
/discover
/bkup
/mnt/nfsmountpoint/location1/appliance2
/assess
/discover
/bkup
etc...
我拼凑了一个答案和证据::(我的星号*没有表示抱歉)

从/mnt/nfsmountpoint/目录运行

查找。//-not-path“/assessment/”-type f-mtime+30-delete

验证:: 是否跳过目录?: 查找。//-not-path“/assessment/”-type f-mtime+30-ls |更多

验证是否未包含当月(2021年1月)的文件?:

查找。//-not-path“/assessment/”-type f-mtime+30-ls | grep Jan

有多少空间是免费的

find.//-not-path“/assessment/”-type f-mtime+30-print0 | du-files0 from=-hc | tail-n1

find /path/to/dir -mtime +30 -type f -not -name "*assess*" -delete

在/path/to/dir以及子目录中查找文件(-type f)。仅指定30天前修改过的文件(-mtime+30),不包括包含“assessment”(-not-name“assessment”)的文件。

谢谢-我已经拼凑了一个类似的解决方案,请参见新编辑的问题。。。