やりたいこと
例えばこんなディレクトリがあったとする。
parent/
├── child1
│ ├── grandchild1
│ └── grandchild2
└── child2
├── grandchild1
└── grandchild2
このうち
parent/
├── child1
│ └── grandchild1
└── child2
└── grandchild2
だけを取り出したい。
やり方
rsyncしたい対象のファイルが書かれたリストを用意する
parent/child1/grandchild1
parent/child2/grandchild2
--files-from=[ファイルリストの絶対パス]
を使ってrsync
rsync --files-from=PATH_TO_FILE SOURCE DESTINATION
ファイルの中身はSOURCE
からの相対パスになることに注意。例えばparent
がカレントディレクトリの直下にある場合はこうなる
rsync --files-from=file_list.txt . destination
# 結果
destination/
└── parent
├── child1
│ └── grandchild1
└── child2
└── grandchild2