如何正确使用"find ... -exec ..."移动除少数以外的所有文件和目录?
How to use "find ... -exec ..." correctly to move all files and directories except a few?
我正在尝试从一个目录中移动除某些文件(或目录)之外的所有文件。我的表现如何:
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):
find ... -exec mv {} .mydir +
请注意,+
不需要转义为 shell,但 ;
需要。
我正在尝试从一个目录中移动除某些文件(或目录)之外的所有文件。我的表现如何:
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):
find ... -exec mv {} .mydir +
请注意,+
不需要转义为 shell,但 ;
需要。