Учитывая :
Команда ffprobe
, которая определяет продолжительность mp4
видеофайлов на удаленном хосте.
Ожидается :
Вывод ffprobe
имеет префикс настраиваемой строки и перенаправляется в текстовый файл.
Проблема :
Иногда из-за сетевой ошибки, ffprobe
выдает сообщение об ошибке. Я хотел бы зафиксировать эту ошибку, добавить к ней специальную строку и отправить ее в текстовый файл.
Пример :
Эта команда добавляет «ABC = 55» до out.txt
, где 55 - обнаруженная продолжительность:
ffprobe -v error -show_entries format = duration -of default = noprint_wrappers = 1: nokey = 1 https://example.com/video.mp4 ' | awk '{print "ABC =" $ 1}' 2> & 1 >> out.txt
Однако, если та же самая команда обнаруживает сетевую ошибку, вместо записи «ABC = Сообщение об ошибке здесь», он записывает запись в текстовый файл и показывает это сообщение в консоли.
Вопрос
Как мне настроить эту часть, чтобы фиксировать ошибки выполнения, добавив к ним префикс «ABC =» и отправьте на out.txt
?
| awk '{print "ABC =" $ 1}' 2> & 1 >> out.txt
Спасибо.
РЕДАКТИРОВАТЬ
Это решило проблему:
2> & 1 | awk '{print "ABC =" $ 0}'