Я предполагаю, что это можно сделать как 1-лайнер, но это показалось немного громоздким, поэтому я создал скрипт для простоты запуска и редактирования и назвал его findvids.sh. Это то, что сработало для меня.
[d1 ] Примечание. Возможно, я не охватил ВСЕ типы видеофайлов, но я уверен, что у меня есть большинство из них. Одним из примечательных исключений является .mkv, так как это целевой формат для проекта, и мне не нужно находить файлы, которые уже были обработаны. Очень просто добавить в сценарий дополнительные форматы (расширения) в соответствии с вашими потребностями, изучив шаблон и соответствующим образом отрегулировав его, сохраняя кавычки в начале и конце выражения. Обратите внимание, что файлы, которые у вас нет для чтения, не будут найдены.#!/bin/bash
#This script is intended to find virtually all video file formats.
find /. -type f | grep -E "\.webm$|\.flv$|\.vob$|\.ogg$|\.ogv$|\.drc$|\.gifv$|\.mng$|\.avi$|\.mov$|\.qt$|\.wmv$|\.yuv$|\.rm$|\.rmvb$|/.asf$|\.amv$|\.mp4$|\.m4v$|\.mp*$|\.m?v$|\.svi$|\.3gp$|\.flv$|\.f4v$"
Я сделал сравнение скорости с использованием локации, и результаты были:
time locate *.mkv *.webm *.flv *.vob *.ogg *.ogv *.drc *gifv *.mng *.avi *.mov *.qt *.wmv *.yuv *.rm *.rmvb *.asf *.amv *.mp4$ *.m4v *.mp *.m?v *.svi *.3gp *.flv *.f4v
real 0m8.887s
user 0m5.814s
sys 0m0.052s
vs .
time find /. -type f | grep -E "\.webm$|\.flv$|\.vob$|\.ogg$|\.ogv$|\.drc$|\.gifv$|\.mng$|\.avi$|\.mov$|\.qt$|\.wmv$|\.yuv$|\.rm$|\.rmvb$|/.asf$|\.amv$|\.mp4$|\.m4v$|\.mp4$|\.m?v$|\.svi$|\.3gp$|\.flv$|\.f4v$"
real 0m2.795s
user 0m0.657s
sys 0m1.115s
Неожиданно найти быстрее. Я буду использовать этот подход.
Источники:
man find
man grep
https: // stackoverflow. ком / вопросы / 7190565 / Unix-найти-многооконные тип файлов