Получить последнюю строку вывода оболочки в виде переменной
Я работаю над сценарием оболочки с exiftool для автоматического изменения некоторых тегов exif на изображениях, содержащихся в определенной папке, и я хотел бы использовать выходные данные для получения уведомления на моем NAS (QNAP), когда задание завершено.
Все уже работает, но - поскольку система уведомлений усекает сообщение - я хотел бы получить только ту информацию, которая мне нужна, то есть последняя строка вывода оболочки, например, следующая:
Warning: [minor] Entries in IFD0 were out of sequence. Fixed. - 2015-07-12 15.41.06.jpg
4512 files failed condition
177 image files updated
Проблема в том, что в настоящее время я получаю только следующее уведомление:
На камере завершено выполнение Exiftool cronjob: 4512 файлов не выполнено
Вместо этого я хотел бы получить:
Cronjob Exiftool завершен на камеру: обновлено 177 файлов изображений
Сценарий следующий:
#!/bin/sh
# exiftool script for 2002 problem
dir="/share/Multimedia/Camera"
cd "$dir"
FOLDER="$(printf '%s\n' "${PWD##*/}")"
OUTPUT="$(exiftool -overwrite_original -r '-CreateDate<DateTimeOriginal' -if '$CreateDate eq "2002:12:08 12:00:00"' -if '$DateTimeOriginal ne $CreateDate' *.[Jj][Pp][Gg])"
/sbin/notice_log_tool -a "Exiftool cronjob completed on ${FOLDER}: ${OUTPUT}" --severity=5
exit 0
Для этого я поиграл с переменной $ OUTPUT, используя | хвост -1, но, вероятно, я делаю некоторые основные ошибки и получаю что-то вроде:
Cronjob Exiftool завершен на камере: 4512 файлов сбой условие | хвост -1
Как сделать это правильно? Спасибо