트리의 일부 파일을 다른 폴더에 심볼릭 링크하고 폴더 구조를 유지합니다.

트리의 일부 파일을 다른 폴더에 심볼릭 링크하고 폴더 구조를 유지합니다.

이 트리(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 옵션을 사용하면 디렉터리 자체를 연결하는 대신 대상 위치에 디렉터리를 생성할 수 있습니다. 이렇게 하면 요구 사항이 충족됩니다.

https://www.gnu.org/software/stow/manual/stow.html

관련 정보