シェルスクリプトに次のコマンドがあり、4つのechoステートメントすべてを1つの電子メールで送信します
{
echo "Data Successfully loaded into LIP table"
echo "Total Items Purchased: `echo $QUERY1 | awk '{print $1}'`"
echo "Total Items MissingorMismatch: `echo $QUERY1 | awk '{print $2}'`"
echo "Error Percentage: $QUERY2"
} | mailx -s "Report for $DATE_YEST_FORMAT1" -r rj@host.com user2@host.com
しかし、私の電子メールを見ると、私が望まない以下のような出力が得られます-
Data Successfully loaded into LIP table Total Items Purchased: 3956391
Total Items MissingorMismatch: 975825 Error Percentage: 24.66452380464924
以下のようなものを1行ずつ出力する必要があります。
Data Successfully loaded into LIP table
Total Items Purchased: 3956391
Total Items MissingorMismatch: 975825
Error Percentage: 24.66452380464924
なぜそれがこのように起こっているのかという提案はありますか?私は走っていSunOS (Solaris)
ます。
アップデート:-
提案を試した後Kevin
QUERY1=`hive -e "
set mapred.job.queue.name=hdmi-technology;
SELECT SUM(total_items_purchased), SUM(total_items_missingormismatch) from lip_data_quality where dt='$DATE_YEST_FORMAT2';"`
QUERY2=`hive -e "
set mapred.job.queue.name=hdmi-technology;
SELECT 100 * SUM(total_items_missingormismatch*1.0) / SUM(total_items_purchased) FROM lip_data_quality where dt='$DATE_YEST_FORMAT2';"`
mailx -s "LIP Data Quality Report for $DATE_YEST_FORMAT1" -r rj@host.com rj@host.com uname@host.com <<EOF
Data Successfully loaded into LIP_DATA_QUALITY table
Total Items Purchased: $(echo $QUERY1 | awk '{print $1}')
Total Items MissingorMismatch: $(echo $QUERY1 | awk '{print $2}')
Error Percentage: $QUERY2
EOF
メールで受け取った出力-
Data Successfully loaded into LIP_DATA_QUALITY table
Total Items Purchased: $(echo 3712928 393455 | awk '{print }')
Total Items MissingorMismatch: $(echo 3712928 393455 | awk '{print }')
Error Percentage: 10.596892802661404
これは正しくありません..私はこのような出力を取得する必要があります-
Data Successfully loaded into LIP_DATA_QUALITY table
Total Items Purchased: 3712928
Total Items MissingorMismatch: 393455
Error Percentage: 10.596892802661404
私は走っていますSunOS
bash-3.00$ uname -a
SunOS lvsaishdc3in0001 5.10 Generic_142901-02 i86pc i386 i86pc