
Suponiendo este árbol (top-X y tX-sub-X son carpetas y todas las subcarpetas contienen un .csv y varias otras extensiones de archivo).
Base
├── top-1
│ ├── t1_sub-1
│ ├── t1_sub-2
│ └── t1_sub-3
│
└── top-2
├── t2_sub-1
├── t2_sub-2
└── t2_sub-3
y todas las subcarpetas que contienen un .csv y varias otras extensiones de archivo.
¿Puedo vincular simbólicamente todos los .csv en la base a otro árbol y tener esto?
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
No puedo probarlo ahora pero haría:
sudo find . -name "*.csv" -exec cp -Rs '{}' /path/to/Symlinked_base/
Si -R no es compatible, ¿funcionaría lo siguiente? :
sudo find . -name "*.csv" -exec cp -parents -s '{}' /path/to/Symlinked_base/
Respuesta1
Stow es un paquete para mantener árboles de enlaces simbólicos. Puede usar la opción --no-folding para crear directorios en el destino en lugar de vincular los directorios mismos; eso debería brindarle lo que desea.