
フォルダに再帰的にアクセスしたいのですが、rsync
特定の深さのサブフォルダにのみアクセスしたいと思います。
たとえば、次のように深さが1、2、3、または4のサブフォルダが必要です。
source/
├── subfolder 1
│ ├── subsubfolder
│ │ ├── subsubsubfolder
│ │ │ └── wanted with depth 4.txt
│ │ └── wanted with depth 3.txt
│ └── wanted with depth 2.txt
├── subfolder 2
│ └── wanted with depth 2.txt
└── wanted with depth 1.txt
答え1
--exclude=
選択が簡単です。
深さ2(フォルダとサブフォルダ内のファイル)に同期するには:
rsync -r --exclude="/*/*/" source/ target/
それはあなたにこれを与えるでしょう:
target/
├── subfolder 1
│ └── wanted with depth 2.txt
├── subfolder 2
│ └── wanted with depth 2.txt
└── wanted with depth 1.txt
深さ3(フォルダ、サブフォルダ、サブフォルダのファイル)に同期するには、次の手順を実行します。
rsync -r --exclude="/*/*/*/" source/ target/
あなたに与えるでしょう:
target/
├── subfolder 1
│ ├── subsubfolder
│ │ └── wanted with depth 3.txt
│ └── wanted with depth 2.txt
├── subfolder 2
│ └── wanted with depth 2.txt
└── wanted with depth 1.txt