4

我正在尝试将带有特定附件的文件复制到另一个目录,并保留它们的相对路径。从我打电话的原始顶部路径:

cp --parents `find . -name \*.pdf -print` /new_path/

我相信这行得通;但是,仅当找到的文件名称中没有空格时。

我也试过:

cp --parents `find . -name \*.pdf -print0` /new_path/

这显然不起作用,因为没有换行符 cp 收到错误的名称。

是否可以用引号将查找结果括起来?

4

2 回答 2

10

尝试这个:

find . -name \*.pdf -print0 | xargs -0 -n 1 -Ifoo cp --parents foo /new_path/

或者

find . -name \*.pdf -exec cp --parents {} /new_path/ \;
于 2013-09-10T17:02:02.640 回答
2

另一种方式。这会将一次调用中的所有文件作为多个参数复制到cp.

find . -name '*.pdf' -exec cp --parents -t /new_path '{}' '+'
于 2013-09-10T17:05:22.363 回答