• 一些我后写出来的awk脚本


    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",1)
    #       print hoursdiff("%H",1)
    #}
  • 相关阅读:
    Django学习笔记第六篇--实战练习二--简易实现登录注册功能demo
    追踪溯源--抓住隐藏在NAT后面的罪犯
    Linux内核态、用户态简介与IntelCPU特权级别--Ring0-3
    Windows2008 IIS配置FTP站点
    .NET RSA解密、签名、验签
    Quartz.NET 入门
    使用Topshelf创建Windows服务
    xcode6 新建项目真机调试无法全屏
    .NET 二维码生成(ThoughtWorks.QRCode)
    iOS手机应用开发原型模板及开发流程
  • 原文地址:https://www.cnblogs.com/code-style/p/3408114.html
Copyright © 2020-2023  润新知