【发布时间】:2017-07-03 09:27:02
【问题描述】:
我想编写一个数据保留 shell 脚本,当给定两个输入 - 基本目录和保留期(以天为单位)时,仅删除早于保留期的文件(而不是目录)。我在互联网上搜索过,有一些解决方案,但他们正在列出目录并根据修改时间删除它们。
但是一个目录可能有一个非常旧的时间戳,但可能包含最近更新的文件。
我该如何进行? find 命令中的 mindepth 和 maxdepth 选项在 HDFS 中不起作用。
基本目录可能有多个子目录,子目录可能有子目录等等。
base 目录为/user/abhikaushik
然后我们有yyyy/mm/dd/hh 形式的子文件夹,例如base/2017/04/23/22
或者base/studies/programming/file1.txt等等
【问题讨论】:
-
@philantrovert 这不是重复的。在您的答案中,您列出了目录中的子目录并删除它们。我想要的是进入所有目录的最大深度并检查那里的文件并删除它们。
-
这就是我说“可能重复”的原因。以此为参考。如果您使用
grep -v而不是grep,它将向您显示除目录之外的任何内容,您可以使用hdfs dfs -ls -R实现最大深度。我相信你会解决的。在此处或在该答案上发表评论以获得任何帮助。