簡體   English   中英

如何在 awk 命令內將文本打印到文件?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM