我想複製一個資料夾和所有子資料夾,但不想複製該目錄中的文件內容。
假設我要複製的資料夾是
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
排除 ( ) 不是 ( ) 目錄 ( )-
的所有內容的選項!
*/