LINUX.ORG.RU

Скрипт для копирования мультимедийных файлов

 ,


0

2

Подскажите, плиз, скриптик для копирования мультимедийных файлов.

На десктопном диске есть множество каталогов с множеством самых различных файлов - *.txt, *.pdf, *.gz, *.pl, *.odt и многих других,
включая мультимедийные - *.wav, *.avi, *.mp3, *.mp4, *.mkv и другие.

Нужно скопировать все мультимедийные файлы в другой каталог с сохранением их путей расположения.

В сущности, это как копирование по типу

cp -r /home/chkcha/1  /home/chkcha/2
только с фильтрацией не-мультмедийных файлов по их расширению.

★★★★★
Ответ на: комментарий от sanwashere

А с обычным cp не получится?

chukcha ★★★★★
() автор топика
find mydir -type f -iname "*.flac" -o -iname "*.mp3" | while read i ; do dir="$(dirname "$i")" ; mkdir -p "newdir/${dir}" ; cp -a "${i}" "newdir/${dir}" ; done



Типа того?

YAR ★★★★★
()
Последнее исправление: YAR (всего исправлений: 1)
Ответ на: комментарий от YAR

YAR спасибо большое, возьму на заметку!

А пока повозился с cp - и ужаснулся, насколько он тупой :-(
Оказывается, он не умеет рекурсивно копировать файлы по маске!


Пока смастерил на rsync такое:

rsync -av   \
--include="*/"    \
--include="*.mp3" \
--include="*.bmp" \
--include="*.gif" \
--include="*.jpg" \
--include="*.jpeg" \
--include="*.png" \
--include="*.wav" \
--include="*.avi" \
--include="*.mp3" \
--include="*.mp4" \
--include="*.mkv" \
--exclude="*" ./  \
 /home/chkcha/2
Вроде работает.

chukcha ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.