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