0

我正在尝试使用 find 命令从备份文件夹中删除一些旧文件,但 find 命令没有返回任何内容,因此没有任何内容被删除!这是代码(查找部分),我的系统是 ubuntu 18.04 LTS

find  -name "*.sql" -type f -mtime +30 

find 命令的结果

命令的输出ls -l是: ls -l 命令的结果

我用谷歌搜索并搜索了网络,但没有找到解决问题的方法。任何帮助表示赞赏。

4

1 回答 1

0

您缺少find命令的起点,在这种情况下,.因为您已经在目标目录中执行了命令:

find . -name "*.sql" -type f -mtime +30 

其余的可以保持不变。首先确保它为您提供正确的结果,然后您可以附加对-exec结果的每一行执行命令。

find . -name "*.sql" -type f -mtime +30 -exec rm '{}' ';'

您通常可以在UNIX stackexchange 上找到这样的答案:How to execute ln on find results

请参阅David在这种特殊情况下的评论,这可能是对参数的误解。mtime

我已经完全测试了这里列出的命令,下面你会看到我的准备和一些多次使用,你可以看到文件如何按预期显示,每次mtime值减小时:
VIRTUAL BOX UBUNTU LTS 18.04

鉴于 find 命令的手册页,这并不奇怪:
FIND MAN PAGE / -mtime PARAMETER

请检查是否有任何拼写错误...这应该可以。

于 2020-03-08T13:51:27.760 回答