Решаем задачу о копировании файлов из каталога 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 и размещена в рубрике Программирование.
Вы можете перейти в конец страницы и оставить ваш комментарий.
Мало букафф? Читайте есчо !
Октябрь 6, 2023 г.
Полезный пример поиска в UNIX, чтобы найти файлы, содержащие 2 и более разных подстрок. Например, мне нужно было найти все файлы конфигурации, в которых одновременно есть значение "field_spacing" и "excluded: false".
Grep такой функции поиска не ...
Читать
Сентябрь 18, 2025 г.
Столкнулся с задачей на практике - в архиве tar.gz лежит еще один архив, в котором еще один и так далее... Как с кощеевым яйцом, только цепочка в матрешке куда более длинная.
Написал небольшой скрипт для bash, по распаковке такого сюрприза.
...
Читать
Декабрь 3, 2019 г.
Задача возникла в контексте SEO, требовалось предотвратить индексацию тестовых сайтов поисковыми системами. На практике видно, что инструкции файла robots.txt ...
Читать
Июнь 22, 2021 г.
В Юникс системах можно перенаправить вывод выполняемой команды в лог-файл, но иногда хотелось бы видеть результаты работы одновременно и в консоли.
Вот пример перенаправления вывода в файл:
[crayon-6a4a3a744cffd874059001/]
При этом в консоли ...
Читать