將樹中的某些檔案符號連結到另一個資料夾並保留資料夾結構

將樹中的某些檔案符號連結到另一個資料夾並保留資料夾結構

假設此樹(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

相關內容