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