Там не может быть так много файловых окончаний, не так ли? По крайней мере, это конечное число. Я считаю, что эта задача на самом деле исключительно подходит для терминальной работы.
Помимо обычных расширений
- .avi
- .mpg / .mpeg
- .wmv
- .mov
- .mkv
- .flv
нечувствительным к регистру образом вы, вероятно, сможете получить правильное предположение об оставшихся видеофайлах, выполнив поиск по всем файлам выше определенного размера, возможно, исключая некоторых обычных подозреваемых, не связанных с видео, таких как
- .rar
- .zip
- .gz
- .mp3
- .flac
- .doc
и так далее для ясности и уточнения этого списка, если вы обнаружите больше проблем.
Я бы, таким образом, итеративно сделать, например,
find /my/drive -not -iregex '.*\.\(avi\|mpe?g\|wmv\|mov\|mkv\|flv\|rar\|zip\|gz\|mp3\|flac\|pdf\|doc\)' -type f -size +10M
найти дополнительные окончания файлов, которые могут быть видео, и добавить их в список расширений видео.
Это не должно занять много запусков (вероятно, только один), и будет быстрым, так как списки кэшируются после первого запуска.
Как только окончание файла будет собрано, найдите все видеофайлы, сопоставив их в своем уточненном списке расширений:
find /my/drive -iregex '.*\.\(avi\|mpe?g\|wmv\|mov\|mkv\|flv\)' -type f
Теперь вы можете напрямую использовать эту команду и выполнять действия со всеми файлами одновременно, например, перемещая их в другое место, или просто перечисляя их, или то, что вы хотите сделать. Возможно, просто вручную сделайте что-нибудь с ними после того, как узнаете их местоположение.
Существуют более замысловатые решения, которые будут проверять содержимое всех файлов, например, file
утилита в сочетании с find
и затем grep
: результат для видеофайлов, но он будет намного медленнее. Гадание по расширению имени файла является более грубой сеткой, но, вероятно, все равно ударит по всем файлам.