作者热门文章
- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
基本上,我必须从文件中获取姓氏、姓氏、用户名和成绩,然后我必须向该用户(“用户名”)发送一封电子邮件,内容如下所示:
"Dear 'surname' 'lastname'!
Your grade on the 'class name' exam was 'grade'."
“类名”通过 shell 的参数列表给出,其余信息在该文件中。
于是我一步步走了过去。先用awk打印出想要的布局
awk '{print "Dear",$1,$2 "!","\nYour grade on the '$class' exam was ",$4;}' in.txt
工作正常。然后我测试了我的邮件是否有效并且确实有效:
$ mail -s 'Subj' bando < /tmp/msg.txt
所以我需要将输出写入文本文件,以便将其发送给特定用户。
这就是我的问题所在。我尝试了几个版本,尝试将我的字符串打印到一个文件中,但它有问题,我不知道是什么。与 echo 和 cat 相同。尝试将其切成小块,但仍然一无所获。
最佳答案
试试这个 awk 命令来读取 in.txt 并发送电子邮件:
class='9th'
awk '{msg="Dear " $1 " " $2 "!,\nYour grade on the '$class' exam was " $4; system("echo \"" msg "\" | mail -s 'Subj' " $3);}' in.txt
你在哪里in.txt
文件看起来像这样:
cat in.txt
Lname Fname foobar@example.com 7.6
解释:
awk 命令将 in.txt 文件解析为 $1、$2、$3、$4 占位符。
然后它将邮件消息格式化为一个变量 msg
.
最后调用系统函数执行echo "<msg>" | mail -s 'Subj' $3
回显 msg 变量并将其通过管道发送到邮件命令以发送它。那里需要反斜杠来用双引号将 msg 变量括起来。
关于linux - 如何从 Linux 中的文件向用户发送具有特定模板的邮件(模板包含文件中的信息)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5626962/
我是一名优秀的程序员,十分优秀!