У меня есть дерево файлов, которое выглядит так:
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 ...
