mail.awk

function mailByShell(receiver, sender, subject, content, __ARGVEND__,
xhead, xfrom, xmime, xtype, xsubject, sendmail,command)
{
xhead = " /usr/bin/formail "
xfrom = " -I \"From: " sender "\" "
xto = " -I \"To: " receiver "\" "
xmime = " -I \"MIME-Version:1.0\" "
xtype = " -I \"Content-type:text/html;charset=gb2312\" "
xsubject = " -I \"Subject:" subject "\" " xhead = xhead "" xfrom "" xto "" xmime "" xtype "" xsubject
sendmail = " /usr/sbin/sendmail -f " sender " -oi " receiver
command = "echo \"" content "\" |" xhead "|" sendmail command | getline s
close(command)
} function mailByKmail(receiver, sender, subject, content, __ARGVEND__)
{
# todo
} function mail(receiver, sender, subject, content, __ARGVEND__)
{
mailByShell(receiver, sender, subject, content)
} # test
# END{
# mail("lishujun@3gpp.com.cn,baipengfei@3gpp.com.cn","stat@3gpp.com.cn","i am test","who am i?")
# }

一些说明:

xto 指定的是邮件终端显示的收件人地址,如果不指定,终端会认为发件人不想公开收件人列表,从而显示成 Undisclosed Recipients ,而真正控制接受人邮件的还是sendmail的-oi参数

如果邮件标题,内容是写死在代码里的,那么接受时是否乱码取决于脚本文件的编码格式和邮件客户端的编码格式,如果一致的话就不会乱码,反之会乱码,那如果内容是从文本文件里读出来的呢?取决于文本文件的编码格式


time.awk

function now(format, __ARGVEND__)
{
if(format == null || format == "")
{
format = "%Y-%m-%d %H:%M:%S";
} command = "echo `date +'" format "'` | cat"
command | getline s
close(command)
return s
} function date()
{
return now("%-Y%m-%d")
} function hoursdiff(format,hour)
{
command = "echo `date -d \"" hour " hours ago \" +'" format "'`"
command | getline s
close(command)
return s
} #END{
# print hoursdiff("%Y-%m-%d %H",)
# print hoursdiff("%H",)
#}

一些我后写出来的awk脚本的更多相关文章

  1. awk脚本

    $0,意即所有域. 有两种方式保存shell提示符下awk脚本的输出.最简单的方式是使用输出重定向符号>文件名,下面的例子重定向输出到文件wow. #awk '{print $0}' grade ...

  2. python+paramiko库+svn写的自动化部署脚本

    第一篇博文 直接开门见山的说了. 这是件什么事?:每次部署都是复制本地的文件粘贴到服务器端,因为路径复杂,所以费时且手工容易出漏洞. 一直在想有什么办法可以解决这种,因为以前在微软的一个牛人同事做过一 ...

  3. 如何写SysV服务管理脚本

    本文目录: 1.1 SysV脚本的特性1.2 SysV脚本要具备的能力1.3 start函数分析1.4 stop函数分析1.5 reload函数分析1.6 status.restart.force-r ...

  4. Java基础-接口.编写2个接口:InterfaceA和InterfaceB;在接口InterfaceA中有个方法void printCapitalLetter();在接口InterfaceB中有个方法void printLowercaseLetter();然 后写一个类Print实现接口InterfaceA和InterfaceB,要求 方法 实现输出大写英文字母表的功能,printLowerca

    #34.编写2个接口:InterfaceA和InterfaceB:在接口InterfaceA中有个方法void printCapitalLetter():在接口InterfaceB中有个方法void ...

  5. awk 脚本同时解析多个文件

    ARGC        The number of command line arguments (does not include                   options to gawk ...

  6. 写一个php小脚本辅助渗透测试

    因为一个注入要爬行一些数据,然后写的一个小脚本,能写脚本来辅助渗透,也算是里程碑.哈哈哈 <?php $num = 1; while ($num <= 39) { $web_url = & ...

  7. 基于七牛Python SDK写的一个同步脚本

    需求背景 最近刚搭了个markdown静态博客,想把博客的图片放到云存储中. 经过调研觉得七牛可以满足我个人的需求,就选它了. 博客要引用图片就要先将图片上传到云上. 虽然七牛网站后台可以上传文件,但 ...

  8. 一些初学shell自己写的一些练习题脚本

    1斐波拉契数列前10个  #!/binbash#declare A=0declare B=1for ((i=1;i<6;i++)); do    let A+=B    printf " ...

  9. [MySQL-MM] 生产环境自动恢复MM中一台M2库的过程,分享从零开始写的自动化重建脚本以及思路 (转)

    必须是MM架构,而且一台主库M1是完好无损的,一台主库M2可以根据M1主库来进行重建:如果MS架构,自己可以稍微做一下脚本修改动作,也能使用,架构如下图所示: 3  总体思路,建立主脚本a_build ...

随机推荐

  1. c++ map 插入数据后,begin(),end()以及当前迭代器的变化

    1. map.end()指向map的最后一个元素之后的地址,无论执行map.erase(iter)还是map.add(key, value),map.end()所返回的值永远不会发生变化,都是指向同一 ...

  2. linux if 判断字符串是否相等

    在命令行中修改时间: 如果linux系统时间等于2017-09-09,则ok:否则将当前系统时间修改为2017-09-09 var=`date '+%Y-%m-%d'`;if [ "$var ...

  3. SKView类

    继承自 UIView:UIResponder:NSObject 符合 NSCoding(UIView)UIAppearance(UIView)UIAppearanceContainer(UIView) ...

  4. atitit。浏览器缓存机制 and 微信浏览器防止缓存的设计 attilax 总结

    atitit.浏览器缓存机制 and 微信浏览器防止缓存的设计 attilax 总结 1. 缓存的一些机制 1 1.1. http 304 1 1.2. 浏览器刷新的处理机制 1 1.3. Expir ...

  5. Easyui弹出窗体在iframe的父级页面显示

    今天做EasyUI学习的预到了一个这样的问题:通过iframe加载的一个页面在调用$.messager.alert();这个方法后只能在iframe中显示alert效果而不是在全局的页面上显示这并不我 ...

  6. JAVA try-catch-finally-return

      正常执行流程: try执行,遇到异常就跳到catch执行(以使得程序不会崩溃): 不管有没有异常catch,最后都执行finally   含return语句执行流程分析: 若try块中return ...

  7. Java多线程——线程同步

    在之前,已经学习到了线程的创建和状态控制,但是每个线程之间几乎都没有什么太大的联系.可是有的时候,可能存在多个线程多同一个数据进行操作,这样,可能就会引用各种奇怪的问题.现在就来学习多线程对数据访问的 ...

  8. JavaScript网页制作特效

    一.什么是JavaScript? 网页交互特效的脚本语言. 特效 二.BOM对象 能够使得JavaScript和浏览器进行对话. 主要是使用Window对象进行操作. History对象:历史,可以实 ...

  9. Error prompt:“wget: unable to resolve host address”---Solution

    //Situation System prompts that:"wget: unable to resolve host address".   //Analysis   Una ...

  10. ASP.NET协作应用集成到trsids身份验证服务器的开发流程

    开发Actor协同模块: (参考TRSIDS4.0 协作应用集成手册[asp.net]) ASP.Net协作应用集成到IDS之前,需要开发Actor类实现协作应用回调接口中定义的本地登录.退出.用户信 ...