プログラムの出力をテキストファイルに入れようとしています。 echoコマンドをファイルに正しく追加しますが、imagemagick "compare"コマンドはそうではありません。単に比較方法を通じて端末に返されるSTOUDの「PSNR値」である。
このコマンド出力をテキストファイルに追加する方法はありますか?また、「./script.sh > test.txt」を使用してスクリプトを呼び出すと、エコーをファイルとして印刷し、結果を端末と比較する以外は何も印刷しません。
これは私のコードの一部です。
ls images/toconvert/ > lsout.txt
while read LINE
do
echo ====================== $LINE ==================== >> psnrdiff.txt
echo Jpeg2000 >> psnrdiff.txt
compare -metric PSNR images/toconvert/$LINE images/converted/$LINE.jp2 images/psnrDiffs/$LINE.jp2.png >> psnrdiff.txt
done < lsout.txt
答え1
さまざまなimagemagick
コマンド出力を置き換えSTDERR
ますSTDOUT
。
出力キャプチャSTDERR
にリダイレクトできます。STDOUT
compare -metric PSNR .... >> psnrdiff.txt 2>&1
答え2
ls images/toconvert/ > file.txt
while read LINE
do
echo ====================== $LINE ==================== >> psnrdiff.txt
echo Jpeg2000 >> psnrdiff.txt
compare -metric PSNR "images/toconvert/$LINE" "images/converted/$LINE.jp2" "images/psnrDiffs/$LINE.jp2.png" >> psnrdiff.txt
done < file.txt