如何将结果传递给CP,使"带空格的文件名"起作用

SMT*_*MTF 4 bash

我正在尝试将具有特定附件的文件复制到其他目录,并保留其相对路径.从我调用的原始顶部路径:

cp --parents `find . -name \*.pdf -print` /new_path/
Run Code Online (Sandbox Code Playgroud)

我相信这有效; 但是,只有找到的文件名称中没有空格.

我也尝试过:

cp --parents `find . -name \*.pdf -print0` /new_path/
Run Code Online (Sandbox Code Playgroud)

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

是否可以用引号包围查找结果?

twa*_*erg 10

试试这个:

find . -name \*.pdf -print0 | xargs -0 -n 1 -Ifoo cp --parents foo /new_path/
Run Code Online (Sandbox Code Playgroud)

要么

find . -name \*.pdf -exec cp --parents {} /new_path/ \;
Run Code Online (Sandbox Code Playgroud)