如何使用"找到... -exec ..."正确移动所有文件和目录除了几个?

时间:2018-02-12 22:25:17

标签: linux terminal find exec

我试图从除某些文件(或目录)之外的目录中移动所有文件。我是怎么做的:

sudo find. ! -name 'myarq.sh'! -name '.mydir'! -name '.' ! -name '..' -exec mv {} ./* .mydir

但我明白了:

find: missing argument for "-exec"

我不知道使用" -exec"可能,我不知道上述情况的哪种语法是正确的。

1 个答案:

答案 0 :(得分:1)

通常,错误消息find: missing argument for "-exec"表示您无法使用;+正确终止命令。尝试:

find ... -exec mv {} .mydir \;

find的某些实现会通过使用+(将产生更少的子shell)来提供性能优势:

find ... -exec mv {} .mydir +

请注意,+不需要转发到shell,但;会转义。