45

特定のフォルダーに含まれる写真のいくつかのexifタグを自動的に変更するためにexiftoolを使用してシェルスクリプトに取り組んでおり、ジョブが完了したときに出力を使用して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 ファイルが失敗した状態

代わりに取得したいのは次のとおりです。

Exiftool cronjob がカメラで完了: 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 変数をいじりました。tail -1 ですが、おそらくいくつかの基本的なエラーを犯し、次のようなメッセージが表示されます。

Exiftool cronjob がカメラで完了: 4512 ファイルが失敗した状態 | 尾 -1

正しい方法でそれを行う方法は?ありがとう

4

2 に答える 2