コマンドの出力を確認し、出力に応じて異なるコマンドを実行しようとしています。Bash - コマンドの出力をキャッチ
count="1"
for f in "[email protected]"; do
BASE=${f%.*}
# if [ -e "${BASE}_${suffix}_${suffix2}.mp4" ]; then
echo -e "Reading GPS metadata using MediaInfo file ${count}/${#@} "$(basename "${BASE}_${suffix}_${suffix2}.mp4")"
mediainfo "${BASE}_${suffix}_${suffix2}.mp4" | grep "©xyz" | head -n 1
if [[ $? != *xyz* ]]; then
echo -e "WARNING!!! No GPS information found! File ${count}/${#@} "$(basename "${BASE}_${suffix}_${suffix2}.mp4")" || exit 1
fi
((count++))
done
MediaInfoは、の出力を確認しているコマンドです。それに書き込まれた ビデオファイルがある場合は、「©XYZ」原子は、出力は次のようになります。
$ mediainfo FILE | grep "©xyz" | head -n 1
$ ©xyz : +60.9613-125.9309/
$
は、それ以外の場合は
$ mediainfo FILE | grep "©xyz" | head -n 1
$
上記のコードは動作した場合にも警告をエコー表示されませんnullであります©xyzが提示されました。 私が間違っていることのアイデアはありますか?