У меня есть дерево файлов, которое выглядит так:
in
├── file1
├── dir1
└── dir2
    ├── dir3
    │   ├──── file2
    │   └──── junk1
    ├── junk2
    └── junk3
Я хочу создать брат, in котором выглядит следующим образом:
out
├── file1
├── dir1
└── dir2
    └─── dir3
         └── file2
Другими словами, рекурсивно копируйте in out исключая in/dir2 но включая in/dir2/dir3/file2 .
Я пробовал следующее:
rsync -a --exclude='in/dir2' --include='in/dir2/dir3/file2' in out
Что приводит к следующему:
out
└── in
    └── file1
Поэтому я попробовал следующее:
rsync -a --exclude='dir2' --include='dir2/dir3/file2' in/ out
Что приводит к:
out
└── file1
Как я могу достичь того, что я хочу, с помощью rsync или других инструментов Unix? Я бы предпочел не использовать странные методы, такие как отправка tar в tar ...
