テキストファイルに生成された数がゼロでない場合にメールでユーザーに送信する方法

テキストファイルに生成された数がゼロでない場合にメールでユーザーに送信する方法

実行して数を生成する選択クエリがあります。たとえば、次のレコードを含むテキストファイルに回答をエクスポートします。

Unprocessed record for A Sources
----------------------Unprocessed record count for ABC SOURCE ------------------
abc_count=            0
--------------------Unprocessed record count for CDE Source --------
CDE_count=            0
-----------------------Unprocessed record count for DEF Source -----------------
DEF_count=            0
------------------Unprocessed record count for GHI Source ----------------------
GHI_count=            56

上記のソースの数がゼロでないことを確認するUnixコマンドを作成し、必要なチームにメールで送信したいと思います。

これは私が以前使用したものですが、うまくいきません。

for CHECK in $(awk '{print $1}' hello | grep count=| cut -d"=" -f1) do
    if [ $(grep $CHECK output.txt | awk '{print $2}') -ne 0 ] then
        echo "$(grep $CHECK output.txt)" | mailx -s "CHECK ABC PROCESS" [email protected]
    fi
done

ベストアンサー1

beforeステートメントとbeforeステートメントに;セミコロンを追加する必要があります。これ以上問題がなければ、正常に動作します。私はあなたのスクリプトも改善しません。ifthenfordo

スクリプト。

for CHECK in $(awk '{print $1}' hello | grep count=| cut -d"=" -f1); do
    if [ $(grep $CHECK output.txt | awk '{print $2}') -ne 0 ]; then
        echo "$(grep $CHECK output.txt)" | mailx -s "CHECK ABC PROCESS" [email protected]
    fi
done

また、数値を取得するにはcutこのようなコマンドを使用する必要はありませんか?cut -d"=" -f2ループ外でコマンドを実行し、結果が出ていることを確認することをお勧めします。

おすすめ記事