Linux 当使用find命令删除批处理文件中超过30天的文件时,如何排除多个子目录(相同的目录名)?
考虑到下面的linux目录结构,我如何跳过每个排除的目录(/assessment),以便在整个目录结构的其余部分删除超过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
/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”)的文件。谢谢-我已经拼凑了一个类似的解决方案,请参见新编辑的问题。。。