我想删除特定文件夹中大于2MB的文件。所以我跑了:
find . -size +2M
我得到了两个文件的清单
./a/b/c/file1
./a/f/g/file2
所以我然后运行:
find . -size +2M -exec rm ;
我收到错误消息 Find: missing argument to -exec
我在手册页中检查了语法,并说 -exec command ;
所以我尝试
find . -size +2M -exec rm {} +
而且有效。据我所知,{}使它执行类似命令rm file1 file2
代替rm file1; rm file2;
。
那么为什么第一个不起作用?
回答:
我想我只需要几次RTFM才能最终了解它在说什么。即使第一个示例未显示{},在所有情况下都必须使用大括号。然后添加\; 或+,具体取决于所需的方法。不要只阅读标题。还要阅读说明。得到它了。