フォルダの内容を同じ階層を含む他のディレクトリに移動する

フォルダの内容を同じ階層を含む他のディレクトリに移動する

これはソース パス /Archive/testing/ で、AB1、AB2、AB3 の 3 つのフォルダーがあります。

これは宛先ディレクトリ/RXB2Bi_Archive/Archive_testing123/です。3つのフォルダAB1、AB2、AB3があります。

単一のコマンドでファイルをソースから宛先に移動したい。(AB1 フォルダー ファイル、AB1 フォルダーなど)

このコマンドを試していますが、すべてのファイルが /RXB2Bi_Archive/Archive_testing123/ に移動され、AB1、AB2、AB3 には移動されませんでした。

#!/bin/bash
Find  /Archive/testing/   / -type f -mtime +190 -exec mv '{}' /RXB2Bi_Archive/Archive_testing123/ \;

……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….
Source: /Archive/testing/              Destination: /RXB2Bi_Archive/Archive_testing123/  

AB1 folder                                              AB1 folder   
AB2 folder                                              AB2 folder
AB3 folder                                              AB3 folder

……………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………….......................

答え1

rysnc を使用する必要があります:

rsync -avz Archive/testing/ RXB2Bi_Archive/Archive_testing123/

例:

mkdir -p Archive/testing/AB{1..3}

touch Archive/testing/AB{1..3}/sourceFiles

結果を見てみましょう:

$ tree
.
└── Archive
    └── testing
        ├── AB1
        │   └── sourceFiles
        ├── AB2
        │   └── sourceFiles
        └── AB3
            └── sourceFiles

5 directories, 3 files

次に、宛先を作成しましょう。

mkdir -p RXB2Bi_Archive/Archive_testing123/AB{1..3}

touch RXB2Bi_Archive/Archive_testing123/AB{1..3}/destFiles

結果を確認しましょう:

$ tree

RXB2Bi_Archive/
└── Archive_testing123
    ├── AB1
    │   └── destFiles
    ├── AB2
    │   └── destFiles
    └── AB3
        └── destFiles

4 directories, 3 files

次のコマンドを実行します:

$ rsync -avz Archive/testing/ RXB2Bi_Archive/Archive_testing123/
sending incremental file list
./
AB1/
AB1/sourceFiles
AB2/
AB2/sourceFiles
AB3/
AB3/sourceFiles

sent 268 bytes  received 84 bytes  704.00 bytes/sec
total size is 0  speedup is 0.00

結果を確認:

$ tree RXB2Bi_Archive/
RXB2Bi_Archive/
└── Archive_testing123
    ├── AB1
    │   ├── destFiles
    │   └── sourceFiles
    ├── AB2
    │   ├── destFiles
    │   └── sourceFiles
    └── AB3
        ├── destFiles
        └── sourceFiles

4 directories, 6 files

上記のように、すべてのファイルは宛先の必要な場所にコピーされます。

関連情報