我有一个名为存储库的目录,其中包含许多文件和子目录。我想找到自过去 14 天以来未修改的文件和目录,以便我可以删除这些文件和目录。 我已经编写了这个脚本,但它只给出了目录名称
#!/bin/sh
M2_REPO=/var/lib/jenkins/.m2/repository
echo $M2_REPO
OLDFILES=/var/lib/jenkins/.m2/repository/deleted_artifacts.txt
AGE=14
find "${M2_REPO}" -name '*' -atime +${AGE} -exec dirname {} \; >> ${OLDFILES}
最佳答案
查找/path/to/files* -mtime +5 -exec rm {}\;
请注意,rm、{} 和\; 之间有空格
说明
第一个参数是文件的路径。这可以是路径、目录或通配符,如上例所示。我建议使用完整路径,并确保在不使用 exec rm 的情况下运行命令,以确保获得正确的结果。
第二个参数 -mtime 用于指定文件存在的天数。如果您输入+5,它将查找超过 5 天的文件。
第三个参数 -exec,允许您传入命令,例如 rm。这 {}\;最后需要结束命令。
这应该适用于 Ubuntu、Suse、Redhat 或几乎任何版本的 Linux。
关于linux - linux中如何删除超过n天的文件和目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32710098/