在bash中,仅当文件早于X分钟时,我才能查找和删除包含特定文件的目录。
有这个答案可以找到包含特定文件的目录。但是,尚不清楚如何添加文件早于X分钟的条件。
find . -name 'foobar.dat' -mmin +3 -exec bash -c 'rm -vr "$(dirname "$1")"' bash {} \;
基本上,这是找到匹配的文件,然后擦除其父目录。第二个“ bash”字符串可以是任何东西,它只是用来避免将文件名放在“ $ 0”中(尽管这似乎可以正常工作...)
我会用另一种方式解决这个问题:
创建一个执行以下操作的小脚本rm -r $(dirname $1)
(即,删除参数的父目录)
找到所有此类文件,然后在它们上调用脚本:
find . -name 'foobar.dat' -mmin +3 -exec rmparent_script {} \;
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句