Linux 如何删除x天前创建或修改的旧文件夹和文件?

Linux 如何删除x天前创建或修改的旧文件夹和文件?,linux,shell,unix,Linux,Shell,Unix,我试过上面所有的陈述,但都不起作用。 要么是我收到一个-exec错误,要么是使用-delete错误 如何解决这个问题?我只想删除在给定日期内创建或修改的所有目录和文件,如3天前20天前 注意:其中一些是通过在终端中手动粘贴来实现的。但是,当我已经将其放在shell文件中并像sh myscript.sh那样运行它时,就是我得到错误的时候了,这就是为什么我说它们都不起作用的原因 首先运行下面的命令,查看是否列出了文件:- DAYS=1 find /directory/tmp/* -mtime +5

我试过上面所有的陈述,但都不起作用。 要么是我收到一个-exec错误,要么是使用-delete错误 如何解决这个问题?我只想删除在给定日期内创建或修改的所有目录和文件,如3天前20天前


注意:其中一些是通过在终端中手动粘贴来实现的。但是,当我已经将其放在shell文件中并像
sh myscript.sh
那样运行它时,就是我得到错误的时候了,这就是为什么我说它们都不起作用的原因

首先运行下面的命令,查看是否列出了文件:-

DAYS=1
find /directory/tmp/* -mtime +5 -exec rm {} \;
find /directory/tmp* -type f -mtime +3 -delete
find /directory/tmp* -mtime +2 -exec rm {} \;
find /directory/tmp -mtime +3 -exec rm -Rf -- {} \;
find /directory/tmp -mtime +2 -exec rm {} \;
find /directory/tmp -type f -mtime +2 -delete
find /directory/tmp -type f -mtime +2 -exec rm -rf {} \;
find /directory/tmp* -type d -mtime +1 -exec rm {} \;
find /directory/tmp* -mtime +$DAYS -exec rm {} \;
find /directory/tmp* -mtime +$DAYS -exec rm {} \;
这里,
“*”
表示全部。如果文件扩展名为.tmp,则可以编写
“*.tmp”

如果是,请尝试:-

find /directory/tmp -name "*" -mtime +2 -exec ls -l {} \;

希望这能对您有所帮助。

我尝试了第一个,但当我将它放在.sh文件中时,仍然会遇到相同的错误。
find:missing argument to
-exec'`但是当我在终端中运行它时,一切正常。.知道为什么在.sh文件中运行它会失败吗?
find /directory/tmp -name "*" -mtime +2 -exec rm -f {} \;