gpt4 book ai didi

linux - 如何从 Linux 中的文件向用户发送具有特定模板的邮件(模板包含文件中的信息)?

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:29:22 25 4
gpt4 key购买 nike

基本上,我必须从文件中获取姓氏、姓氏、用户名和成绩,然后我必须向该用户(“用户名”)发送一封电子邮件,内容如下所示:

"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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com