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

Я ищу способ перемещения папок, которые еще не присутствуют в целевом каталоге на моем 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 --verbose всегда показывает структуру каталогов при синхронизации с томом NTFS
  • Основная команда rsync для бит-идентичных копий
  • Скопируйте только каталоги с файлами .mp3 с помощью rsync
  • Помогите с использованием rsync или cpio для создания инкрементной резервной копии
  • Зачем мне использовать зеркало rsync?
  • Перевод конфигурации rdist с несколькими корнями в rsync
  • зарезервировать дисковое пространство перед копированием файлов
  • Сломанная труба в моем rsync.sh
  • Резервное копирование на два внешних жестких диска с помощью rsync?
  • Использование Rsync совместно с Find
  • Как изменить мой сценарий для резервного копирования моих файлов
  • Interesting Posts

    Почему размер блока в разделе меньше, чем у базового диска?

    Почему плымут не обновится?

    В crontab можно указать пользователя из переменной?

    Как убедиться, что loopfile установлен только один раз?

    Модуль Numpy не найден, несмотря на то, что он находится в пути

    Открыть сообщение с заданным идентификатором сообщения из командной строки в mutt

    Debian растягивается на thinkpad: отключается от внешнего, черный экран после приостановки

    Сильно удалить физический диск из группы томов LVM

    регулярная проблема буферизации awk при вызове команд оболочки

    Как вернуться из корневого входа в систему для входа пользователя в систему?

    NTP синхронизируется правильно, но не обновляет время?

    Неограниченный интерфейс в Linux?

    В чем разница между командой pbrun и sudo?

    Почему я должен использовать sh для выполнения сценариев с CD / DVD-носителей?

    VMWare медленнее на внешнем USB-диске

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