我有两个目录结构如下:
dir1/a/file1
dir1/a/b/file2
dir1/a/c/d/file3
和
dir2/a/file4
dir2/a/b/file5
dir2/a/c/d/file6
我想将dir1下子目录中的所有文件复制到dir2,但是保留当前在dir2中的文件,换句话说我希望结果看起来像:
dir2/a/file1
dir2/a/file4
dir2/a/b/file2
dir2/a/b/file5
dir2/a/c/d/file3
dir2/a/c/d/file6
使用bash有一种简单的方法吗?
答案 0 :(得分:0)
你可以从
开始cd dir1
cp -rpuv * ../dir2/
在:
$ find dir2/
dir2/
dir2/a
dir2/a/file4
dir2/a/c
dir2/a/c/d
dir2/a/c/d/file6
dir2/a/b
dir2/a/b/file5
后:
$ find dir2/
dir2/
dir2/a
dir2/a/file1
dir2/a/file4
dir2/a/c
dir2/a/c/d
dir2/a/c/d/file3
dir2/a/c/d/file6
dir2/a/b
dir2/a/b/file2
dir2/a/b/file5
请注意-p
保留权限,-v
制作复制详细信息,-u
仅 更新 文件(执行问题建议) :保留文件已经在dir2 )