Я хочу создать дубликат папки и всех подпапок, но не хочу дублировать содержимое файлов в этом каталоге.
Допустим, я хочу создать дубликат папки
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:
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
опции, которая исключает ( -
) все, что не является ( !
) каталогом ( */
)