假设我有以下结构:
Folder-A
File-1
File-2
File-4
Folder-A-1
File-5
File-6
Folder-A-2
File-7
Folder-B
File-1
File-2
File-3
Folder-A-1
File-5我希望将Folder-A复制到/在Folder-B之上,这样,从逻辑上讲,结果是:
Folder-B
File-1 *
File-2 *
File-3
File-4 +
Folder-A-1
File-5 *
File-6 +
Folder-A-2 +
File-7 +其中*是一个覆盖,而+是一个附加的。
换句话说,递归地,如果文件(或文件夹)存在于同一路径中,则覆盖它,如果它是新的,则添加它。
我该怎么做?
发布于 2018-04-28 23:37:59
这是cp的默认行为。所以,您所需要做的就是一个常规的递归cp:
cp -r Folder-A/* Folder-B/展示:
$ tree
.
├── Folder-A
│ ├── File-1
│ ├── File-2
│ ├── File-4
│ ├── Folder-A-1
│ │ ├── File-5
│ │ └── File-6
│ └── Folder-A-2
│ └── File-7
└── Folder-B
├── File-1
├── File-2
├── File-3
└── Folder-A-1
└── File-5
$ cp -r Folder-A/* Folder-B
$ tree
.
├── Folder-A
│ ├── File-1
│ ├── File-2
│ ├── File-4
│ ├── Folder-A-1
│ │ ├── File-5
│ │ └── File-6
│ └── Folder-A-2
│ └── File-7
└── Folder-B
├── File-1
├── File-2
├── File-3
├── File-4
├── Folder-A-1
│ ├── File-5
│ └── File-6
└── Folder-A-2
└── File-7https://askubuntu.com/questions/1029305
复制相似问题