Переместить папки, не существующие в целевой каталог

Я ищу способ перемещения папок, которые еще не присутствуют в целевом каталоге на моем Linux-сервере.

Пример:

Целевой каталог

folder1 folder2 folder3 folder4 

Исходный каталог

 folder1 folder2 folder5 folder6 folder7 

Я не хочу, чтобы folder1 и folder2 из исходного каталога перезаписывали папки в целевом каталоге. Содержимое в folder1 и folder2 в исходном каталоге может отличаться от указанного в целевом каталоге, но я не хочу, чтобы эти изменения копировались.

Это на сервере CentOS 7, и любой инструмент, необходимый для работы, принимается.

Список папок, которые нельзя перемещать, является динамическим, поэтому я не хочу статически ставить его.

One Solution collect form web for “Переместить папки, не существующие в целевой каталог”

Вы можете сделать это, настроив цикл через каждую директорию в источнике, и если в целевом объекте нет этого каталога, он перемещает его: bourne snippit:

 for dir in `cd "$sourcedir" ; ls -1F | grep '/'` do if [ ! -d "${targetdir}/${dir}" ] then mv "$dir" "${targetdir}/" fi done 

Обратите внимание, что это либо сломает, либо перезапишет файл, если у вас есть файл в целевом объекте с тем же именем, что и каталог в источнике. Если вы хотите, чтобы это было надежным, вы должны добавить дополнительные проверки.

  • Что вы фильтруете / исключаете список при выполнении резервного копирования с помощью rsync?
  • Как настроить сервер и клиент rsync?
  • Ошибка при использовании rsync и scp
  • Причины для rsync НЕ переносить все файлы?
  • Не удалось сохранить право собственности на копию, но в состоянии двигаться?
  • Как скопировать большие данные по сети?
  • rsync от Mac ext hd до VPS работает, но не VPS для Mac
  • rsync-сервер и клиентская проблема
  • Будет ли rsync использовать дельта-кодирование, даже когда я копирую между локальными жесткими дисками?
  • Не удалось скопировать несколько файлов с помощью версии rsync 3.0.9?
  • Можно ли показать вывод rsync на одной строке?
  • Interesting Posts

    определение возможностей привода dvd

    Как я могу загрузить прямое DVD-ISO-изображение PC-BSD прямо через GRUB2?

    Не удалось выполнить сценарий оболочки из правила «network» udev, чтобы изменить MAC-адрес

    Сценарий оболочки для списка заблокированных пакетов во FreeBSD

    обмен словами с awk вокруг символа / текста ("to")

    Разница между версиями wget

    Могу ли я установить цвета терминала на локальном компьютере, чтобы использовать те, которые были в машине I ssh?

    xim не работает в Chromium

    Оставайтесь в том же рабочем каталоге при смене на sudo

    zsh: как получить расширение файла, работающее в заявлении на печать

    XTerm не отображает * некоторые * символы Unicode правильно?

    Убейте любую службу, запущенную на определенном порту

    libstdc ++. so.6: open failed: нет такого файла или каталога

    Как использовать sed и регулярные выражения, чтобы найти шаблон и удалить последние несколько символов?

    установка share davfs всегда запрашивает учетные данные

    Linux и Unix - лучшая ОС в мире.