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