find命令中排除的目录未正确传递到-exec cp

时间:2019-04-29 09:02:03

标签: find exec cp exclusionpath

我正在尝试复制包含子文件夹结构的文件夹,同时使用find -exec cp命令排除指定的子文件夹。当我单独使用find命令时,我设法使用了多个工作排除选项,但是一旦添加了'-exec cp'命令,排除项将不再起作用。

想象一下感兴趣的目录包含多个文件和子文件夹,其中一个子文件夹名为“ exclusion_string”

此find命令单独使用可正常工作:

find ~/directory/of/interest/ -maxdepth 2 ! -name "*exclusion_string*"

...,但此命令使排除标准无效:

find ~/directory/of/interest/ -maxdepth 2 ! -name "*exclusion_string*" -exec cp -r '{}' . \;

同样,当使用其他条件或参数时,子目录的排除也会丢失,例如:

find ~/directory/of/interest/ -maxdepth 2 -name "*" -size -100k -exec cp -r '{}' . \;

find ~/directory/of/interest/ -maxdepth 2 -name "*exclusion_string*" | xargs cp -rt .


我在这里想念什么?

0 个答案:

没有答案