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. python摘抄

    核心模块: random 当你的程序需要随机数功能时,random 模块就能派上用场.该模块包含多个伪随机数发生器,它们均以当前的时间戳为随机数种子.这样只要载入这个模块就能随时开始工作.下面列出了该 ...

  2. Apache安装完服务没有安装的情况

    安装完apache之后(不是按照默认路径安装的,例如是 D:\ )右下方哪个小羽毛图标是没有启动的,左键不好使,而且提示“No services installed”,提示服务器没有被安装.解决方法: ...

  3. bitree

    #include "stdio.h" #include "stdlib.h" #define OVERFLOW -1 #define ERROR -1 #def ...

  4. Linux下aMule安装教程

    Linux下载神器aMule安装教程 aMule可以说是Linux下的电驴,你们说eMule是不是就是aMule的Windows版呢?也是开源的. Fedora安装aMule很简单,两条命令就搞定. ...

  5. Hdu 1856(离散化+并查集)More is better

    题意:一些人遵循朋友的朋友也是朋友原则,现在找出最大的朋友圈, 因为人的编号比较大,但是输入的数据最多是10w行,所以可得出最多也就20w人,所以可以进行一下离散化处理,这样数据就会毫无压力 //// ...

  6. [置顶] Putty管理私钥文件

    openssh中,ssh_keygen产生的私钥,id_rsa这种密钥putty是不认识的,必须先把它转换成ppk格式, Windows上如果你安装了git,它里面bin目录下就有ssh_keygen ...

  7. Java容器详解

    线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构.这些类均在java.util包中.在Java中,容器的类型主要有:List.Set ...

  8. IOS开发之Post 方式获取服务器数据

    //1.创建post方式的 参数字符串url +(NSString *)createPostURL:(NSMutableDictionary *)params { NSString *postStri ...

  9. (转徐明吉)C#生成随机数

    private static char[] constant = { ', 'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p ...

  10. ClickOnce发布后不能安装

    当在internet发布用ClickOnce打包的客户端程序时,遇到ClickOnce启动后出错,错误信息如下: + Downloading https://xxxxx/Deploy/pc/Boote ...