我正在尝试将具有特定附件的文件复制到另一个目录,并保留其相对路径。从我呼吁的原始顶部路径开始:
cp --parents `find . -name \*.pdf -print` /new_path/
我相信这有效;但是,只有找到的文件名称中没有空格。
我也尝试过:
cp --parents `find . -name \*.pdf -print0` /new_path/
这显然不起作用,因为没有新行字符cp收到错误的名称。
是否可以用引号括住查找结果?
答案 0 :(得分:10)
试试这个:
find . -name \*.pdf -print0 | xargs -0 -n 1 -Ifoo cp --parents foo /new_path/
或者
find . -name \*.pdf -exec cp --parents {} /new_path/ \;
答案 1 :(得分:2)
另一种方式。这会将一次调用中的所有文件复制为cp
的多个参数。
find . -name '*.pdf' -exec cp --parents -t /new_path '{}' '+'