Я безуспешно рыскал по Интернету в поисках ответа... Я пытаюсь достичь этого результата в пункте назначения.
Media_Files
Web
Print
Мои исходные файлы:
Media_Files
Assets
Web
Print
Как я могу исключить, удалить, переместить или отфильтровать папку Assets
, но сохранить Web/Print
папки, используя rsync
? Спасибо
решение1
Это нужно будет сделать в два этапа:
- Скопируйте все, кроме
Media_Files/Assets
(при условии, что в разделе есть еще что-тоMedia_Files
). - Копировать
Media_Files/Assets/Web
.
Первый шаг можно сделать с помощью
rsync -av --exclude=/Assets/ Media_Files/ destination
Это (подробно) скопирует Madia_Files
каталог рекурсивно (включая разрешения и другие метаданные) в destination
, создав destination
копию Media_Files
(удалив конечный символ /
в исходном пути, чтобы вместо этого создать destination/Media_Files
).
Assets
Расположенный непосредственно под ним каталог будет Media_Files
проигнорирован из-за шаблона исключения /Assets/
.
Второй шаг можно сделать
rysync -av Media_Files/Assets/Web destination
Отсутствие /
в конце исходного пути означает, что Web
внутри будет помещено destination
.
Если у вас есть другие файлы или каталоги, Media_Files/Assets
которые Web
вам также нужно скопировать, используйте вместо этого
rsync -av Media_Files/Assets/ destination
Это скопирует все Media_Files/Assets
(включая Web
каталог и его содержимое) непосредственно в destination
.
Вместо этого вы можете выполнить следующие два шага:
- Сделать
destination
точныйкопияMedia_Files
, включаяMedia_Files/Assets
. - Вручную переместите содержимое,
destination/Assets
которое вы хотите переместить,destination
и удалитеdestination/Assets
.
Суммируя:
rsync -av Media_Files/ destination
mv -i destination/Assets/* destination
rmdir destination/Assets
Последние две команды будут изменены для перемещения только того содержимого, destination/Assets
которое вы хотите сохранить (например, destination/Assets/Web
), и удаления остального (здесь я предполагаю, что вы хотите переместить все видимые файлы и каталоги, и что это оставит подкаталог Assets
полностью пустым).
решение2
Для достижения результата можно использовать следующую команду
rsync -azvP Медиа_Файлы/Активы/Веб_Медиа_Файлы/