关于递归删除特定文件类型

关于递归删除特定文件类型

我想从任何目录及其子目录中删除特定的文件类型,例如 *.bak 文件。

我使用以下命令来查找文件。

find <path> -name "*.bak" -type f

但是,当我尝试执行相同的操作(条件是仅列出 10 天以上的文件)时,我没有得到任何结果:

find <path> -name "*.bak" -type f -ctime +10

我在最后一部分错了,尽管不确定是什么。

编辑:是的,现在我只想递归查找文件夹内扩展名为 bak 且时间超过 10 天的文件。

答案1

find忽略-atimemtime-ctime以及-*min对应项的任何小数时间。

因此,-ctime +10表示索引节点在 11 天或更早之前发生更改的文件。

要获取索引节点在 10 天或更早之前更改过的文件:

find <path> -name "*.bak" -type f -ctime +9

另外,如果您只想检查修改时间(而不是 inode 更改时间),您可以执行以下操作:

find <path> -name "*.bak" -type f -mtime +9

相关内容