私は次の構造を持っています:
/src/2016/aaa1.pdf
/src/2016/aaa2.pdf
/src/2016/aaabbb1.pdf - needed
/src/2016/aaabbb2.pdf - needed
/src/2017/aaa1.pdf
/src/2017/aaa2.pdf
/src/2017/aaabbb1.pdf - needed
/src/2017/aaabbb2.pdf - needed
/src/2018/aaa1.pdf
/src/2018/aaa2.pdf
/src/junk/2016/aaa1.pdf
/src/tmp/aaabbb1.pdf
/src/anotherfolder/aaabbb2.pdf
私が望むのは、すべてのフォルダが同期モードにあることです。bbb.pdfはsrcディレクトリのフォルダパターン201 *から取得されます。 (ゴミを除く、tmpのすべてのディレクトリ...)構造を維持し、以下を取得します。
/dst/2016/aaabbb1.pdf
/dst/2016/aaabbb2.pdf
/dst/2017/aaabbb1.pdf
/dst/2017/aaabbb2.pdf
ベストアンサー1
単純なシェルglobを使用してこれらのファイルを照合し、--relative
(-R
)フラグを使用してターゲット内のファイルパスを保持できます。
rsync -avR src/./201?/*bbb*.pdf dst/
データを使用した例の実行
rsync -avR src/./201?/*bbb* dst/
created directory dst
sending incremental file list
2016/
2016/aaabbb1.pdf
2016/aaabbb2.pdf
2017/
2017/aaabbb1.pdf
2017/aaabbb2.pdf
を使用して、何が起こるかをテストできますrsync --dry-run
。