我需要从目录树中删除jpg文件,但我只需要删除不到n天的文件。例如,删除距创建时间不超过 3 天的 jpg 图像。
这是我到目前为止所拥有的,但它不起作用:
$ find ~/la/ruta -name *.jpg -mtime -2 -exec rm {} \;
zsh: no matches found: *.jpg
$ find la/ruta/*.jpg -mtime -2 -exec rm {} \;
zsh: no matches found: la/ruta/*.jpg
我需要从目录树中删除jpg文件,但我只需要删除不到n天的文件。例如,删除距创建时间不超过 3 天的 jpg 图像。
这是我到目前为止所拥有的,但它不起作用:
$ find ~/la/ruta -name *.jpg -mtime -2 -exec rm {} \;
zsh: no matches found: *.jpg
$ find la/ruta/*.jpg -mtime -2 -exec rm {} \;
zsh: no matches found: la/ruta/*.jpg
我已经完成了 的安装
zsh
,并且在尝试重现您的问题时,确实会引发相同的错误。通常,在使用参数
-name
或-iname
在命令find
中使用引号时,无论是单引号还是双引号。留下这样的命令:-iname
如果任何文件具有扩展名,您也可以使用.JPG
. 因为它会-iname
忽略它们是大写还是小写。关于创建日期,我们可以看一个例子:
1)我们创建一个文件。
2)让我们看看日期。
我们得到这个结果:
3)我们在文件中添加一些信息。
4)让我们再看看日期。
我们得到这个结果:
根据本文档,创建日期不是可以根据POSIX标准访问的数据,因为它为文件定义了3 个日期。
在这个Stack Exchange问题中,我引用:
谁在西班牙语中的主要思想是:
是什么让我们明白,如果文件被修改,将很难搜索它并按创建日期删除它。
结论
要删除少于N 天的文件,只需执行以下操作:
只需将N替换为天数即可。
但如果你想要的只是删除目录: