我需要找到名为" child"的子目录。并将这些文件夹中的文件复制到新目录。无法让它发挥作用。
我可以找到子目录,但我无法从中复制文件。
> find /Volumes/COMMON-LIC-PHOTO-1/STUDIO-COMPLETE/ISSUETRAK/2016/03_2016 -type d -iname child
上面将找到03_2016中名为" child"的所有子目录。但是我现在如何复制这些目录中的文件?
我试过了,但问题是它似乎想复制目录本身而不仅仅是文件:
> find /Volumes/COMMON-LIC-PHOTO-1/STUDIO-COMPLETE/ISSUETRAK/2016/03_2016 -type d -iname child | xargs cp '{}' /Volumes/COMMON-LIC-PHOTO-1/STUDIO-COMPLETE/ISSUETRAK/TEST \;
我无法让它仅定位文件。
答案 0 :(得分:1)
你很亲密:
> find $YOUR_PATH/03_2016/ -type d -iname child | xargs -I {} find -type f {} | xargs -I {} cp {} /Volumes/COMMON-LIC-PHOTO-1/STUDIO-COMPLETE/ISSUETRAK/TEST
注意:您可能会覆盖在最终目的地共享相同名称的文件
答案 1 :(得分:1)
这可能比上面的答案更清晰:
find $(find /Volumes/COMMON-LIC-PHOTO-1/STUDIO-COMPLETE/ISSUETRAK/2016/03_2016 -type d -iname child | xargs) -type f -exec cp {} /Volumes/COMMON-LIC-PHOTO-1/STUDIO-COMPLETE/ISSUETRAK/TEST \;
两次调用find,一次调用xargs。与其他答案一样,这也会覆盖重复的文件名。