Linux 如何使用;找到-执行官……”;是否正确移动除少数文件外的所有文件和目录?

Linux 如何使用;找到-执行官……”;是否正确移动除少数文件外的所有文件和目录?,linux,terminal,find,exec,Linux,Terminal,Find,Exec,我正在尝试从一个目录中移动除某些文件(或目录)以外的所有文件。我做得怎么样: sudo find. ! -name 'myarq.sh'! -name '.mydir'! -name '.' ! -name '..' -exec mv {} ./* .mydir 但我得到: find: missing argument for "-exec" 我不知道使用“-exec”可能,我不知道对于上述情况,哪种语法是正确的。一般来说,错误消息find:missing argument for“-exe

我正在尝试从一个目录中移动除某些文件(或目录)以外的所有文件。我做得怎么样:

sudo find. ! -name 'myarq.sh'! -name '.mydir'! -name '.' ! -name '..' -exec mv {} ./* .mydir
但我得到:

find: missing argument for "-exec"

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

一般来说,错误消息
find:missing argument for“-exec”
表示您无法正确终止命令,或者使用
+
。尝试:

find ... -exec mv {} .mydir \;
find
的一些实现将通过使用
+
提供性能优势(生成的子shell更少):


注意,
+
不需要转义到shell,而是
有。

-行政命令\
您需要使用
终止
exec
(或a
+
-exec mv{}./*.mydir\非常奇怪,因为它会扩展到类似于
mv foo.*.mydir.
的内容,并且总是移动当前目录中与glob
.*
@williampersell匹配的所有文件。Stack Overflow是一个用于编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的提问的地方。我会使用rsync来完成这个任务。
find ... -exec mv {} .mydir +