我想将svn存储库中的修改文件复制到另一个目录,同时保留其目录结构.
在阅读awk和xargs manpage之后,我找到了一种方法来获取更改的文件名,如下所示:
$svn status -q | awk '{ print $2 }' | xargs -d \\n -I '{}' cp '{}' /tmp/xen/
但问题是以这种方式不保留目录结构,我想复制这样的文件:
./common/superp.c -> /tmp/xen/common/superp.c ./common/m2mgr.c -> /tmp/xen/common/m2mgr.c ./common/page_alloc.c -> /tmp/xen/common/page_alloc.c ./arch/x86/mm.c -> /tmp/xen/arch/x86/mm.c ./arch/x86/mm/shadow/private.h -> /tmp/xen/arch/x86/mm/shadow/private.h
我试图将cp命令更改为cp'{}’/ tmp / xen /'{}’但它没有说这样的文件或目录.有没有办法制作cp复制文件并在需要时创建目录?请指出是否可以简化此命令链.