Shell-Script
如何從文本文件中檢查不同來源的記錄數和記錄的郵件不等於0
我有一個執行並生成計數的選擇查詢。它將答案導出到具有以下記錄的文本文件中,例如:
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
表示您想要的消息mailx
所需的主題和地址。您可以遍歷多個預定義字元串
下面使用的答案完全基於問題給出的輸出,並假設進一步檢查將具有相同的模式輸出。
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