LINUX.ORG.RU

Как скопировать дерево каталогов без содержимого без команды «find»?


0

1

Использование команды «find» не предлагать - это слишком громоздко. В Windows это можно сделать через «xcopy» со специальными параметрами, в Xenix - через cptdir...

Возможно, есть какой-то способ через cpio?



Последнее исправление: Starduster (всего исправлений: 1)

Ответ на: комментарий от Starduster

> А нужно - только каталоги, без файлов...
Теперь понял.
Попробуйте: rsync -av -f"+ */" -f"- *" /path/to/src /path/to/dest/

AITap ★★★★★
()

Всем спасибо! Сработали оба предложенных решения, но во втором случае на экран вылезло огромное количество сообщений, в том числе - ошибок («rsync: failed to set times on ... : Operation not permitted (1)»). В очередной раз обеждаюсь, что ГНУ/Линукс уделывает всякие недооси, но только вот пользоваться им без магических способностей тяжело...

Starduster
() автор топика
Ответ на: комментарий от Led

Нет, cp такого не умеет. Это слишком простая команда.

Starduster
() автор топика

А что сложного в find?

find srcdir -type d | xargs -IZzZ mkdir -p tgtdir/ZzZ
tailgunner ★★★★★
()
Ответ на: комментарий от Starduster

Толсто. Я вот ни сном, ни духом про виндовый xcopy, и считаю эту утилиту как раз «магической способностью».

leave ★★★★★
()
Ответ на: комментарий от Starduster

Любителям-извращенцам посвящается:

#!/bin/bash

mktree() {
        cd "$1"
        TMPFILE=`mktemp`
        ls -F | sed -n '/\/$/{s/\/$//;p}' > $TMPFILE
        local d=''
        while read d; do
                mkdir "$2/$d"
                mktree "$d" "$2/$d"
        done < $TMPFILE
        rm $TMPFILE
        cd ..
}

# $2 (target) has to be a full path
mktree $1 $2

sdio ★★★★★
()
Ответ на: комментарий от sdio

Фига себе любители, это уровень профессионала-извращенца :)

Разве что проверять результат cd, а то вдруг прав на вход в подкаталог не хватает.

Кстати, а «xcopy» копирует символьные ссылки на каталоги?

mky ★★★★★
()
6 января 2012 г.

«Xcopy fails with insufficient memory when the path plus filename is longer than 254 characters.»
Wikipedia

urxvt ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.