rsyncを使用したディレクトリのマージ(結合)

rsyncを使用したディレクトリのマージ(結合)

次のディレクトリ構造を結合する展開スクリプトを生成する必要があります。

├── LIB_COMMON
│   ├── file1.php 
│   ├── file2.php
│   ├── file3.php
│   └── file4.php
├── LIB_CZ
│   ├── file2.php
│   ├── file3.php
│   ├── file5.php
│   └── file6.php

...結果は次のようになります。

├── LIB_RESULT
│   ├── file1.php ...with content from LIB_COMMON
│   ├── file2.php ...from LIB_CZ
│   ├── file3.php ...from LIB_CZ
│   ├── file4.php ...from LIB_COMMON
│   ├── file5.php ...from LIB_CZ
│   └── file6.php ...from LIB_CZ

1つの方法は次のとおりです。

rsync LIB_COMMON/ LIB_RESULT/ --delete-after
rsync LIB_CZ/ LIB_RESULT/

...しかし、常に多くのファイルを転送します。

他の方法は次のとおりです。

cp LIB_COMMON/ TMP/ 
cp LIB_CZ/ TMP/
rsync TMP/ LIB_RESULT/ --delete-after

それでは、これを達成するためのエレガントな方法を知っている人はいますか?

ベストアンサー1

rsync -avz LIB_COMMON/ LIB_CZ/ LIB_RESULT/ --delete-after

lib_common/これにより、&の内容がフォルダlib_cz/に同期されます。lib_result/

おすすめ記事