24

У меня есть две флэш-карты одинакового размера, и я хочу скопировать содержимое одной на другую на основе следующих правил:

  1. Я хочу, чтобы все каталоги и подкаталоги были на месте
  2. Я хочу исключить файлы типа.FOO.БАР, а.ZIM (все остальные файлы скопированы)
  3. Бонус: было бы здорово, если бы он выводил имена файлов по мере их копирования, учитывая, что он будет копировать ~ 8 ГБ информации

Можно ли это как-то сделать с помощью команды "найти"?

2 ответа2

38

Это было бы значительно проще, если использовать rsync с ключом --exclude .

rsync -av --exclude='*.FOO' --exclude='*.BAR' --exclude='*.ZIM' /source /dest

-v предоставит подробный вывод о том, какие файлы синхронизируются.

0

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

rsync -ravz --exclude = './abc, txt' /source /dest

Всегда полезно использовать z для сжатия и параметр r, если вам нужно копировать рекурсивно.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .