複製目錄骨架 - 僅複製資料夾和檔案名,但不複製檔案內容

複製目錄骨架 - 僅複製資料夾和檔案名,但不複製檔案內容

我想複製一個資料夾和所有子資料夾,但不想複製該目錄中的文件內容。

假設我要複製的資料夾是

Folder0
     Folder00
          File000.x      1GB
          File001.x      500MB
     Folder01
          File010.x      600MB

我想創建一個類似的副本

Folder0
     Folder00
          File000.x      1KB
          File001.x      1KB
     Folder01
          File010.x      1KB

你會如何建議我做這件事?

或者,我可以先建立該資料夾的常規副本,然後清理每個檔案的內容。

答案1

您可以使用查找:

find src/ -type d -exec mkdir -p dest/{} \; \
       -o -type f -exec touch dest/{} \;

-d在 () 下尋找目錄 ( )src/mkdir -p在其下方建立 ()dest/或在 ( -o) 下尋找檔案 ( -f) 並touch在其下方建立dest/

這將導致:

dest/src/<file-structre>

您可以mv創造性地解決這個問題。


其他(部分)解決方案可以透過 rsync 實現:

rsync -a --filter="-! */" sorce_dir/ target_dir/

這裡的技巧是--filter=RULE排除 ( ) 不是 ( ) 目錄 ( )-的所有內容的選項!*/

相關內容