我正在尝试复制目录下的一堆文件,并且其中一些文件的名称中有空格和单引号。当我尝试将 find
和 grep
与 xargs
串在一起时,我收到以下错误:
find .|grep "FooBar"|xargs -I{} cp "{}" ~/foo/bar
xargs: unterminated quote
对于更健壮地使用 xargs 有什么建议吗?
这是 Mac OS X 10.5.3 (Leopard) 使用 BSD xargs
.
最佳答案
您可以将所有这些组合成一个 find
命令:
find . -iname "*foobar*" -exec cp -- "{}" ~/foo/bar \;
这将处理带有空格的文件名和目录。您可以使用 -name
来获得区分大小写的结果。
注意:传递给 cp
的 --
标志阻止它处理以 -
作为选项开头的文件。
关于linux - 如何使用 xargs 复制名称中包含空格和引号的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/143171/