如何从目录中递归删除其内部只有一个文件的所有子目录,文件的名称包含关键字“DEL”,文件是在2017年之前创建的? 感谢。
答案 0 :(得分:0)
这可能是不可能的,但你至少可以接近它:
我们的想法是使用find
遍历所有目录。查看-type
标志,以便find
仅选择目录。
使用-exec
find
选项,您可以传递一个程序的名称,该程序会检查这是否是要删除的目录。我不确定现在删除它是否安全(我认为是这样),或者它是否会让我感到不安find
(在这种情况下你只需将目录的路径打印到stdout,这样就可以了可以通过调用find
)的脚本删除,所以这是你必须尝试的。
棘手的部分是找出这是否是要删除的目录。查找目录中的文件数可以通过不同的方式完成,这取决于您使用哪种编程语言进行此“检查程序”。
匹配文件名很简单。
如果你在Linux或Unix上,找不到创建日期是不行的,因为它没有存储在任何地方。您可以获得的最接近的是 inode更改时间。如果您使用的是Windows,则可以找到创建日期。