Filesystems

複製目錄骨架 - 只有文件夾和文件名,而不是文件內容

  • June 4, 2021

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

假設我要複製的文件夾是

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

我想創建一個類似的副本

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

你會建議我怎麼做?

或者,我可以先創建文件夾的正常副本,然後清理每個文件的內容。

您可以使用查找:

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

-d在 () 下查找目錄 ( )src/並在 () 下創建 ( mkdir -p) 它們dest/或 ( -o) 查找文件 ( -f) 並touchdest/.

這將導致:

dest/src/<file-structre>

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


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

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

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

引用自:https://unix.stackexchange.com/questions/652833