如何使用find和rm命令删除文件?

PRK*_*PRK 8 unix bash shell

find -mmin -19 -exec rm '{}'\;
Run Code Online (Sandbox Code Playgroud)

它将找到修改后的文件,然后删除它们.但它给了我如下错误,找到:缺少`-exec'的参数

还试过各种组合,比如

find -mmin -19 -exec rm '{}';\
find -mmin -19 -exec rm '{}'/;
Run Code Online (Sandbox Code Playgroud)

fal*_*tru 11

你需要在命令和之间留出空间 \;

find -mmin -19 -exec rm {} \;
Run Code Online (Sandbox Code Playgroud)

find已提供-delete选项,因此您无需使用-exec rm ..:

find -mmin -19 -delete
Run Code Online (Sandbox Code Playgroud)

-删除

删除文件; 如果删除成功,则为true.如果删除失败,则会发出错误消息.如果-delete失败,则find的退出状态将为非零(当它最终退出时).使用-delete会自动打开-depth选项.

警告:不要忘记将find命令行计算为表达式,因此首先使用-delete会使find尝试删除指定起始点以下的所有内容.在测试稍后打算与-delete一起使用的find命令行时,应该明确指定-depth以避免以后出现意外.因为-delete暗示-depth,所以你不能有效地一起使用-prune和-delete.


Jas*_*sen 5

您缺少将括号与分号分开的必要空间。

find -mmin -19 -exec rm '{}' \;
Run Code Online (Sandbox Code Playgroud)

但这具有相同的功能,更易于键入,并且执行速度可能更快。

find -mmin -19 -delete
Run Code Online (Sandbox Code Playgroud)