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

Я ищу способ перемещения папок, которые еще не присутствуют в целевом каталоге на моем 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, как я могу узнать, какой атрибут исходного файла отличается от dest, что вызвало переход
  • Мониторинг последней резервной копии rsync
  • Скопируйте и получите файлы с одной машины, которая связана через ssh с другим
  • Как вы можете восстановить повреждение диска на резервном диске, сохраняя при этом все жесткие ссылки?
  • Копирование большого дерева с одной машины на другую, сохранение права собственности
  • Переместить файлы и удалить каталоги с помощью rsync?
  • наиболее эффективный и безопасный способ сделать полную дифференциальную резервную копию с помощью rsync
  • Как включить rsync в libcurl?
  • Использование rsync + cron для синхронизации машины за брандмауэром с моим Dropbox
  • Удалять удаленные файлы, соответствующие локальным файлам, или удалять файлы по мере их загрузки
  • Interesting Posts

    Команда Posix, которая перемещает курсор в определенную позицию в окне терминала

    Маркировка Fedora 23 KVM и VLAN

    Страница, описывающая использование различных менеджеров пакетов

    Linux не выполняет синхронизацию при перезагрузке

    Легкая изолированная среда linux

    Команда Shell для сохранения списка фильмов в csv

    Как настроить подсказку для root?

    Отправка самого последнего созданного файла по электронной почте

    Как активировать Virtualenv при запуске скрипта Python?

    Мой сетевой адаптер присутствует, но с помощью команды «lshw» показано, что «устройство не заявлено». Как заявить этот драйвер / устройство?

    Можно ли выполнить скрипт, который принимает пользовательский ввод, а затем выполнить другой скрипт

    Постоянная связь с китайским ip

    Создание самоподписанного сертификата для tomcat 6

    Как перенаправить tty1 в оболочку Konsole X11 (KDE)?

    Как эффективно использовать 3D через удаленное соединение?

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