合并两个目录而不复制文件

mer*_*urs 3 command-line directory cp

假设我有以下内容:

Folder A
    C1
        file a
    A2

Folder B
     C1
     B2
         file b
     B3
Run Code Online (Sandbox Code Playgroud)

我想要的是合并这两个文件夹,这会给我:

Folder C
    C1
    A2
    B2
    B3
Run Code Online (Sandbox Code Playgroud)

注意我没有写file afile b。我只想合并架构。每个存储库都包含不同的文件,我不希望将它们添加到合并目录中。结果,mv Folder\ A/* Folder\ B是不够的。

你们有没有办法做到这一点?

fro*_*utz 7

好吧,你可以有findexec mkdir

cd /A/
find -type d -exec mkdir -p /C/{} \;
Run Code Online (Sandbox Code Playgroud)

或者,如果结构是平坦的,如您的示例所示,没有 find

cd /A/
for dir in */
do
    mkdir -p /C/"$dir"
done
Run Code Online (Sandbox Code Playgroud)

并且在这两种情况下,对于cd /B/.