Возможно, кому-то нужно разработать OpenMTP, сначала для рабочего стола Ubuntu, «мобильный» Ubuntu и для Android.
Слишком много специальных предложений в дизайне, включая Microsoft DRM, которые задокументированных в «комплекте разработчика» для устройств. Это необходимо переосмыслить как более простой, полностью расширяемый дизайн, который не имеет OpenMTP или Windows Media Player в качестве архитектурного элемента (или предпосылки).
[d9 ] Microsoft DRMиз wikipedia> Протокол передачи мультимедиа
Протокол передачи мультимедиа описан Microsoft, который его представил, как протокол для интеллектуальных устройств хранения данных на основе и совместимый с протоколом передачи изображений (PTP). В то время как PTP был разработан для загрузки фотографий с цифровых камер, Media Transfer Protocol поддерживает передачу музыкальных файлов на цифровые аудиоплееры и мультимедийные файлы на портативных медиаплеерах, а также личную информацию о персональных цифровых помощниках. MTP является ключевой частью WMDRM10-PD, службы управления цифровыми правами (DRM) для платформы Windows Media. Протокол передачи мультимедиа (обычно называемый MTP) является частью среды Windows Media и, таким образом, тесно связан с Windows Media Player. Версии операционной системы Microsoft Windows с Windows XP SP2 поддерживают MTP. Windows XP требуется Windows Media Player 10 или выше; более поздние версии Windows имеют встроенную поддержку. Microsoft также предоставила MTP Porting Kit для старых версий Windows в Windows 98. В системах Apple Macintosh и Linux есть программные пакеты для поддержки MTP. В мае 2008 года рабочая группа устройства USB-исполнителей Форума стандартизировала MTP в качестве полнофункционального класса устройств универсальной последовательной шины (USB). С тех пор MTP является официальным расширением для PTP и имеет один и тот же код класса.Вы также можете попробовать эту команду,
for i in $(seq 100 100000); do rm fileName_$i; done
Он удалит все файлы (от 100 до 100000), если имя файла содержит номера в последовательном порядке.
Как правило, у вас есть несколько способов достичь этого:
rm fileName_{100..100000}
будет расширяться оболочкой примерно в 100 000 имен файлов. Если basename длинный путь и число достаточно высокое, вы можете фактически превысить максимальную длину командной строки при таком подходе.
Цикл for
for i in $(seq 100 100000); do rm fileName_$i; done
[d3 ] не страдает от этой проблемы, но является относительно медленным способом удаления файлов, поскольку оболочка должна выполнить замену переменных и запуск rm около 100 000 раз. Оба вышеописанных метода могут вызывать предупреждения, если некоторые файлов, скажем, filename_101.
Обычно решения, основанные на find, лучше, поскольку они работают только с файлами, которые на самом деле там (во время обнаружения). Однако есть некоторые тонкие отличия:
find . -name 'fileName_[100-100000]' -exec rm {} \;
все равно запустит программу rm около 100 000 раз, а при замене окончательного \; на + попытается свести к минимуму количество подпроцессов. Оба метода, вероятно, будут (много или немного) медленнее, чем использование -delete, которое вообще не использует внешние команды, но вместо этого вызывает системные вызовы.
Однако всегда проверяйте сначала, действительно ли шаблон соответствует файлам что вы хотите настроить таргетинг:
stefan@tuxedo ~ % mkdir askubuntu
stefan@tuxedo ~ % touch askubuntu/filename_{1..1000}
stefan@tuxedo ~ % find askubuntu -name 'filename_[100-1000]'
askubuntu/filename_1
Итак, в этом случае вы должны удалить файл, который хотите сохранить, и оставить файлы, которые должны были быть удалены.
Используйте следующую команду:
find . -name 'fileName_[100-100000]' -exec rm {} \;
Это приведет к удалению файлов от 100 до 100000.
Дополнительная информация: Сайт