Symlink algum arquivo de uma árvore para outra pasta e conservar a estrutura de pastas

2

Assumindo que essa árvore (top-X & X-sub-X são pastas e todas as subpastas que contêm um arquivo .csv e várias outras extensões de arquivo.)

Base
├── top-1
│   ├── t1_sub-1 
│   ├── t1_sub-2 
│   └── t1_sub-3 
│
└── top-2
    ├── t2_sub-1
    ├── t2_sub-2
    └── t2_sub-3

e todas as subpastas contendo um .csv e várias outras extensões de arquivo.

eu posso ligar simbolicamente todos .csv na base para outra árvore e tenho isto:

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

Eu não posso testar agora, mas seria:

sudo find . -name "*.csv" -exec cp -Rs '{}' /path/to/Symlinked_base/

se -R não é suportado, o seguinte funciona? :

 sudo find . -name "*.csv" -exec cp -parents -s '{}' /path/to/Symlinked_base/
    
por Ebya 01.06.2018 / 13:59

1 resposta

1

Stow é um pacote para manter árvores symlink. Você pode usar a opção --no-folding para criar diretórios no destino em vez de vincular os próprios diretórios - isso deve dar o que você deseja.

link

    
por 01.06.2018 / 19:29