Je travaille sur un script Shell avec exiftool pour changer automatiquement certaines balises exif sur les images contenues dans un certain dossier et je voudrais utiliser la sortie pour obtenir une notification sur mon NAS (un QNAP) lorsque le travail est terminé.
Tout fonctionne déjà, mais - comme le système de notification tronque le message - je voudrais recevoir uniquement les informations dont j'ai besoin, c'est-à-dire la dernière ligne de la sortie Shell, qui est par exemple la suivante:
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
Le problème est qu'actuellement je ne reçois que la notification suivante:
Cronjob Exiftool terminé sur l'appareil photo: condition de l'échec de 4512 fichiers
Ce que j'aimerais obtenir à la place, c'est:
Cronjob Exiftool terminé sur l'appareil photo: 177 fichiers image mis à jour
Le script est le suivant:
#!/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
Pour ce faire, j'ai joué avec la variable $ OUTPUT en utilisant | tail -1, mais probablement je fais quelques erreurs de base et je reçois quelque chose comme:
Cronjob Exiftool terminé sur l'appareil photo: 4512 fichiers ont échoué condition | queue -1
Comment le faire de la bonne manière? Merci
Mettez la queue à l'intérieur des parens de capture.
OUTPUT=$(exif ... | tail -1)
Vous n'avez pas besoin des guillemets doubles ici. Je suppose que tu as essayé
OUTPUT="$(exif ...) | tail -1"
Probablement une ancienne publication à laquelle répondre maintenant, mais essayez d'utiliser l'indicateur -n (voir tail --help) et encapsulez la sortie de la commande à l'aide de ticks.
OUTPUT=`exif ... | tail -n 1`
(La réponse de user464502 n'a pas fonctionné pour moi car la commande tail ne reconnaît pas le paramètre "-1")