Использование Handbrake CLI для получения эпизодов DVD-TV

Использование Handbrake CLI для получения эпизодов DVD-TV

Что 0 2>&1 >/dev/nullозначает нижеизложенное?

rawout=$(HandBrakeCLI -i /dev/dvd -t 0 2>&1 >/dev/null)

также ниже,

count=$(echo $rawout | grep -Eao "\\+ title [0-9]+:" | wc -l)

что это -Eao "\\+ title [0-9]+:" | wc -l)подразумевает?

решение1

В соответствии сДокументация HandBreak cli:

Опция -t 0означает «сканировать только все заголовки».

Кроме того, 2>&1 >/dev/nullэто перенаправление вывода ошибок (потока ошибок) терминала Linux в ваш выходной поток (который отображает общие команды и выходные сообщения на терминале), и оба они перенаправляются в /dev/nullспециальный файл устройства, который отбрасывает все, что ему отправлено.
Это метод сделать команду беззвучной и не показывать вам никаких сообщений.

Выражение grep -Eao "\\+ title [0-9]+:" | wc -lпредставляет собой комбинацию выходных данных, grep -Eao "\\+ title [0-9]+:"отправленных команде wc -l, которая подсчитывает количество строк в файле, или выходных данных команды.

Другими словами: подсчитайте, сколько строк grep -Eao "\\+ title [0-9]+:"выводит команда.
Больше о wc в wc страница руководства.

Утилита grepвыполняет поиск заданного шаблона выражения внутри файла или вывода команды:
Параметр -aозначает «обрабатывать эти данные как текстовые данные».
Параметр -Eявляется устаревшим параметром, grepкоторый иногда используется для обработки шаблонов как расширенных регулярных выражений.
Наконец, -oозначает «показывать только совпадающие результаты всей совпадающей строки».

В целом, использование grepздесь, по-видимому, является механизмом поиска по названию сериала и эпизода и отображения их имени.
Больше о grep в grep страница руководства.

Связанный контент