我正在尝试将带有特定附件的文件复制到另一个目录,并保留它们的相对路径。从我打电话的原始顶部路径:
cp --parents `find . -name \*.pdf -print` /new_path/
我相信这行得通;但是,仅当找到的文件名称中没有空格时。
我也试过:
cp --parents `find . -name \*.pdf -print0` /new_path/
这显然不起作用,因为没有换行符 cp 收到错误的名称。
是否可以用引号将查找结果括起来?
我正在尝试将带有特定附件的文件复制到另一个目录,并保留它们的相对路径。从我打电话的原始顶部路径:
cp --parents `find . -name \*.pdf -print` /new_path/
我相信这行得通;但是,仅当找到的文件名称中没有空格时。
我也试过:
cp --parents `find . -name \*.pdf -print0` /new_path/
这显然不起作用,因为没有换行符 cp 收到错误的名称。
是否可以用引号将查找结果括起来?
尝试这个:
find . -name \*.pdf -print0 | xargs -0 -n 1 -Ifoo cp --parents foo /new_path/
或者
find . -name \*.pdf -exec cp --parents {} /new_path/ \;
另一种方式。这会将一次调用中的所有文件作为多个参数复制到cp
.
find . -name '*.pdf' -exec cp --parents -t /new_path '{}' '+'