bash删除旧文件
我有这个独特的要求,找到2年前的旧文件并删除它们。但不仅仅是文件以及相应的空目录。我已经写了大部分逻辑,但是只有当我从目录中删除特定文件时,如何删除相应的目录。当我删除特定的文件时,ctime/mtime也会相应地得到更新。我如何定位那些相应的旧目录并删除它们? 任何指针都会有帮助。 在此先感谢。bash删除旧文件
- 联系
我会做这样的事情:
find /path/to/files* -mtime +730 -delete
-mtime +730
认为这是年龄超过730天文件。
请注意这种命令虽然,请务必事先写入find /path/to/files* -mtime +730
并检查这些是您要删除的文件!
编辑: 现在你已经从目录中删除文件,-mtime +730
将无法正常工作。 要删除您最近更改过的所有空目录:
find . -type d -mmin -60 -empty -delete
感谢您的回复。是的,这是有道理的,就像之前提到的,我到目前为止。仍然未决的部分是,如何在删除内部较旧的文件后,如何定位(删除)将为空的目录。 –
当然,所以你想删除现在空的目录,检查我的编辑@SachinH –
对不起,但你又错过了点。一旦删除旧文件,相应的空目录将不再是旧的,即将修改mtime和ctime。 –
您能向我们展示迄今为止的代码吗? 'rm -r mydir'删除目录和内容 –