Решаем задачу о копировании файлов из каталога SRC в каталог DST, но только определенных заданных типов, сохраняя структуру каталогов.
Это может понадобиться для сбора ассетов проекта, создания архивов и т.п.
К примеру, вы хотите скопировать только видео файлы с расширениями .*avi и *.mpg. Тогда можно использовать команду rsync вот в таком виде:
|
|
rsync -am --include='*.mpg' --include='*.avi' --include='*/' --exclude='*' SRC/ DST |
Разберем, как это работает.
Флаг -m (в -am) позволяет избежать копирования пустых папок, где нет искомых файлов.
Далее идут ключи —include, которые добавляют всё новые типы файлов. Обратите внимание, что ключи чувствительны к регистру, и потому —include=’*.avi’ скопирует myfile.avi, но не myfile.AVI.
Если вам нужны любые комбинации регистра, можно воспользоваться форматом вроде:
|
|
--include='*.[aA][vV][iI]' |
Опция —include=’*/’ добавит подкаталоги, а —exclude=’*’ — исключит всё остальное.
UNIX
Данная запись опубликована в 23.02.2018 11:12 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Декабрь 3, 2019 г.
Задача возникла в контексте SEO, требовалось предотвратить индексацию тестовых сайтов поисковыми системами. На практике видно, что инструкции файла robots.txt ...
Читать
Август 23, 2018 г.
Когда над проектом работает несколько разработчиков, то возникают определенные структурные и организационные вопросы. Каждый программист обычно работает ...
Читать
Сентябрь 9, 2018 г.
Если после команды
[crayon-6a32cb426b47f892708399/]
Вы видите что то вроде:
[crayon-6a32cb426b485237538607/]
Возможно вам поможет следующий алгоритм установки.
therubyracer потребовался мне для работы lessc, потому я стал искать решение, как ...
Читать
Сентябрь 18, 2025 г.
Столкнулся с задачей на практике - в архиве tar.gz лежит еще один архив, в котором еще один и так далее... Как с кощеевым яйцом, только цепочка в матрешке куда более длинная.
Написал небольшой скрипт для bash, по распаковке такого сюрприза.
...
Читать