我正在尝试在目录下复制一堆文件,并且其中一些文件的名称中包含空格和单引号。当我尝试串起来find并grep用xargs,我得到以下错误:
find
grep
xargs
find .|grep "FooBar"|xargs -I{} cp "{}" ~/foo/bar xargs: unterminated quote
关于更可靠地使用xargs的任何建议?
这是在具有BSD的Mac OS X 10.5.3(Leopard)上xargs。
您可以将所有这些组合成一个find命令:
find . -iname "*foobar*" -exec cp -- "{}" ~/foo/bar \;
这将处理文件名和目录中带有空格的内容。您可以-name用来获取区分大小写的结果。
-name
注意:--传递给的标志cp阻止它处理-以选项开头的文件。
--
cp
-