Найти все видео по кодеку (а не по формату контейнера или типу MIME)

«терминал» (физический компьютер) и «bash» (оболочка) совершенно разные. Я не совсем уверен, о чем вы спрашиваете, но вы можете добавить init = / bin / bash в командную строку ядра, чтобы загружаться прямо в bash.

1
28.02.2017, 15:07
1 ответ

Обновление

благодаря @don_crissti за указание на то, что передача {} в sh является всегда неверно - исправление будет следующим:

find ~/Movies/ -type f -iname "*.avi" -exec sh -c "echo $1; file $1 | cut -d, -f5 | cut -d: -f2 | sed 's/ //g' | sed 's/X.264orH.264//g'" {} \;

Вы можете попробовать это - непроверено.

find ~/Movies/ -type f -iname "*.avi" -exec sh -c "echo {}; file '{}' | cut -d, -f5 | cut -d: -f2 | sed 's/ //g' | sed 's/X.264orH.264//g'" \;
  • find : поиск всех файлов avi в ~ / Movies /
  • echo {} распечатать имя файла
  • запустить файл с этим имя файла
  • вырезать -d, -f5 получить 5-е текстовое поле, вырезанное запятой (,)
  • вырезать -d: -f2 получить второе текстовое поле, вырезанное двоеточием ( :)
  • sed удалить пробелы и возможное дублирование строки H264 из текста
1
27.01.2020, 23:46

Теги

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