Как Сортировать/Искать видеофайлы на основе свойств?

Это - уникальная ситуация

У меня есть больше чем 500 Фильмов в разделе. то, что я хотел сделать, искать файлы ролика на основе Размера Видео Свойства, так, чтобы я мог удалить что-либо, что является ниже HD на 720 пунктов, для создания пространства для другого материала.

Параметр поиска в наутилусе может искать датами или типами файлов, но не свойствами. есть ли другое приложение, которое я могу использовать? или Команда? или Сценарий Наутилуса?

Highlighting video dimension

ОБНОВЛЕНИЕ

find . -name '*.mkv' -exec exiftool -fileName -imageSize {} \; 

Эта команда работает как ожидалось, но я хочу, чтобы эта команда сделала немного больше. я не знаю, как ExifTool работает так, я не могу изменить его

я могу добавить несколько расширений файла в единственной команде? большинство файлов mkv но это включает mp4 flv. единственная команда, сканируя все эти видео расширения могла сохранить большую работу

enter image description here

(см., сколько sub папки там),

2
задан 3 April 2017 в 19:26

1 ответ

Включите расширенный и рекурсивный globbing:

shopt -s extglob globstar

Затем:

exiftool -q -p '$FileName $ImageSize' **/+(*.mp4|*.mkv|*.flv)

** рекурсивно вызовет в подкаталоги. Расширенный шарик +(*.mp4|...) будет соответствовать по крайней мере одному из шаблонов в ().

Можно использовать grep, чтобы обработать вывод и генерировать список файлов нет 1920x1080:

exiftool -q -p '$Directory/$FileName $ImageSize' **/+(*.mp4|*.mkv|*.flv) |
  grep -v ' 1920x1080$'

Обратите внимание на изменения здесь: я использую $Directory/$FileName $Imagesize. Нам нужен путь к файлу, не только имя файла, таким образом, $Directory/$Filename. И Здесь мы проверяем, не заканчивается ли каждая строка 1920x1080 ($ конец строки, -v в grep инвертирует соответствие). Проверьте вывод.

Теперь мы можем удалить эти файлы:

exiftool -q -p '$Directory/$FileName $ImageSize' **/+(*.mp4|*.mkv|*.flv) |
  grep -v ' 1920x1080$' | sed 's: [^ ]*$::' |
  xargs -d '\n' rm

sed 's: [^ ]*$::' удаляет все из последнего до конца строки, таким образом, AxB разрешение от вывода exiftool удален, сохранив только имя файла. Затем xargs rm проводит каждую строку как имя файла и выполнения rm с ними как аргумент.

Отключите globbing опции при выполнении:

shopt -u globstar globstar

Для исключения нескольких разрешений используйте ИЛИ в grep:

grep -Ev ' (1920x1080|1920x820|1280x544)$'

Вот команда со всеми широко используемыми форматами видео

exiftool -q -p '$Directory/$FileName $ImageSize' **/+(*.mp4|*.mkv|*.flv|*.avi|*.webm|*.vob|*.mov|*.wmv|*.amv|*.m4p|*.m4v|*.mpeg|*.mpv|*.m4v|*.3gp)

Вот команда, исключая (почти) все форматы HD-видео

grep -Ev ' (1920x1080|1920x1040|1920x1068|1906x952|1916x808|1920x808|1920x804|1916x812|1600x864|1436x1080|1920x820|1280x544|1920x800|1920x802|1920x816|1856x1080|1920x1072|1920x1056|1280x720|1280x536|1280x560|1280x538|1280x528|1216x544|1280x534|1280x532|1281x534|1278x714|1280x718|1280x688|1278x682|1280x690|1280x694|1280x660|1282x692|1280x692|1285x696|1278x544|1280x696|1279x718|1280x546|1281x546|960x720|1324x552|1305x552|1308x552|1536x640)$'
2
ответ дан 2 December 2019 в 03:41

Другие вопросы по тегам:

Похожие вопросы: