3

Как я могу скопировать все файлы с определенным расширением из одного места в другое?

Например, я хочу скопировать все свои музыкальные файлы на мой mp3-плеер, но моя музыкальная папка на жестком диске содержит как обложку, так и музыку. Я знаю, что могу просто скопировать все и затем удалить все изображения, но я надеюсь на лучшее решение, чем это. Я видел решение с помощью rsync, как

rsync -av --exclude "*/" --include "*.mp3" --include "*.ogg" --include "*.wma" --include "*.flac" ~/Music/. /media/E100/Music

но это жалуется на то, что невозможно изменить группу файлов, и по какой-то причине не скопировало все файлы (оставив некоторые каталоги пустыми). Кроме того, я бы предпочел, чтобы дата создания файлов соответствовала текущему времени, так как это, вероятно, будет лучше работать с внутренней базой данных mp3-плеера.

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

1 ответ1

4

Похоже, у вас уже есть решение, которое вы хотите с rsync.

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

sudo rsync -auv etc etc

EDIT: -a флаг , что является причиной его сохранения раз. Флаг -a является псевдонимом для -rlptgoD а флаг -t позволяет сохранять время. Вы можете предпочесть использовать rsync следующим образом:

sudo rsync -rlpgoDuv etc etc

также: для особо длинных копий вы можете использовать флаг --progress а не -v .


Кажется, это работает:
sudo rsync -rlpuv --progress --include "*/" --include "*.mp3" --include "*.ogg" --include "*.wma" --include "*.flac" --exclude "*" ~/Music/ /media/E100/Music

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