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

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

이 트리(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

관련 정보