Shell-Script

如何從文本文件中檢查不同來源的記錄數和記錄的郵件不等於0

  • September 8, 2017

我有一個執行並生成計數的選擇查詢。它將答案導出到具有以下記錄的文本文件中,例如:

   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 命令來檢查上述源的任何計數是否不等於 0,如果不等於 0,則將其郵寄給所需的團隊。

可以使用第二列grep獲取所需程序

awk的輸出,test如果它為零,

echo表示您想要的消息mailmailx所需的主題和地址。

您可以遍歷多個預定義字元串

下面使用的答案完全基於問題給出的輸出,並假設進一步檢查將具有相同的模式輸出。

for CHECK in $(awk '{print $1}' output.txt | 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" foo@bar.com
fi
done

引用自:https://unix.stackexchange.com/questions/387419