我试图复制目录下的一堆文件,其中一些文件的名称中有空格和单引号.当我try 将find
和grep
与xargs
串在一起时,我得到以下错误:
find .|grep "FooBar"|xargs -I{} cp "{}" ~/foo/bar
xargs: unterminated quote
有没有关于更强大地使用xargs的建议?
This is on Mac OS X 10.5.3 (Leopard) with BSD xargs
.
我试图复制目录下的一堆文件,其中一些文件的名称中有空格和单引号.当我try 将find
和grep
与xargs
串在一起时,我得到以下错误:
find .|grep "FooBar"|xargs -I{} cp "{}" ~/foo/bar
xargs: unterminated quote
有没有关于更强大地使用xargs的建议?
This is on Mac OS X 10.5.3 (Leopard) with BSD xargs
.
您可以将所有这些合并到一个find
命令中:
find . -iname "*foobar*" -exec cp -- "{}" ~/foo/bar \;
这将处理包含空格的文件名和目录.您可以使用-name
来获得区分大小写的结果.
注意:传递给cp
的--
标志阻止它处理从-
开始的文件作为选项.