[英]How to print text to file inside the awk command?
我有一個包含服務器用戶信息的文件:名字、姓氏、用戶名、等級。
我必須向每個包含此信息的用戶發送 email,例如:
親愛的名字,姓氏!
您在“班級”中的成績是“成績”。
如果分數低於 5:我們在下一個考試日期等你。
另外,我必須將這些消息打印到一個文件中,包括系統時間。
我能夠生成這些消息並將它們放在一個文件中。 但是如何將每個不同的 email 發送給相應的用戶?
我正在嘗試的方法是在文件中打印消息(我在每個用戶處再次重用),然后將內容添加到主文本文件中。
但是在第二種情況下我收到一條消息錯誤:
awk: cmd. line:17:
這一行是:親愛的 1 美元 2 美元。 echo 我們在下一個考試日期等你上課。 回聲
我不知道該怎么辦。
這是我的代碼:
awk -v class=$1 -v file=$2 '{
if ($4 >= 5){
cat > message
Dear $1 $2! echo Your class grade is $4. echo
}
else {
cat > message
Dear $1 $2! echo We are waiting for you at the next exam date from class. echo
}
fi
}' $2 >$1_log
我可以使用以下命令發送消息:
mail -s "message" user
如何生成這些電子郵件,將它們發送給用戶並將它們全部打印在一個文件中?
這應該創建您所追求的日志文件。 要發送電子郵件,您還需要訪問 email 地址,也許在同一個 class 文件中? 從用戶名派生?
$ awk '{print "Dear " $1 " " $2 "! Your class grade is " $4 "."
if($4 < 5)
print "We are waiting for you at the next exam date from class"}}' class_file > log_file
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.