
Предположим, что это дерево (top-X и tX-sub-X — это папки, а все подпапки содержат .csv и различные другие расширения файлов).
Base
├── top-1
│ ├── t1_sub-1
│ ├── t1_sub-2
│ └── t1_sub-3
│
└── top-2
├── t2_sub-1
├── t2_sub-2
└── t2_sub-3
и все подпапки, содержащие файлы с расширением .csv и другими различными расширениями.
Могу ли я создать символическую ссылку на все .csv в базе на другое дерево и получить это:
Symlinked_base
├── top-1 #directories aren't symlink
│ ├── t1_sub-1 #contains only .csv symlink
│ ├── t1_sub-2
│ └── t1_sub-3
│
└── top-2
├── t2_sub-1
├── t2_sub-2
└── t2_sub-3
Я не могу проверить это сейчас, но хотел бы:
sudo find . -name "*.csv" -exec cp -Rs '{}' /path/to/Symlinked_base/
если -R не поддерживается, будет ли работать следующее?:
sudo find . -name "*.csv" -exec cp -parents -s '{}' /path/to/Symlinked_base/
решение1
Stow — это пакет для поддержки деревьев символических ссылок. Вы можете использовать опцию --no-folding для создания каталогов в месте назначения вместо связывания самих каталогов — это должно дать вам то, что вы хотите.