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. Eclipse无法设置NDK路径的解决方法

    如果在Eclipse中设置NDK路径的时候遇到下面的情况(尼玛,我的NDK设置呢?): 可以参考百度经验解决:http://jingyan.baidu.com/article/4d58d5413000 ...

  2. L - Cat VS Dog - HDU 3829(最大独立集)

    题意:有P个孩子,有的孩子喜欢猫不喜欢狗,有的喜欢狗不喜欢猫(喜欢的和不喜欢的一定是相相对立的动物),动物园有N只猫,M只狗,每个孩子都有喜欢的猫讨厌的狗(或者喜欢的狗讨厌的猫),现在动物园要送走一批 ...

  3. cocos2dx lua binding ,cocos2dx 绑定lua测试

    前面2篇分别简单介绍 手动bind C++ 类和lua:http://blog.csdn.net/chenee543216/article/details/12074771 使用tolua++简化工作 ...

  4. SKPhysicsJointSpring类

    继承自 NSObject 符合 NSCoding(SKPhysicsJoint)NSObject(NSObject) 框架  /System/Library/Frameworks/SpriteKit. ...

  5. [转] Transitions: Going from Shots to the Insulin Pump

    Part three of our article series on the common phases of type 2 diabetes management By Lance Porter ...

  6. ls Common Command-Line Options

    ls  Common Command-Line Options Command  Use: ls -l    Shows a long listing, which includes informat ...

  7. MFC 中的 “printf” 函数

    怀念C语言的我,MFC没法使用的C语言printf函数,于是: int MFCprintf(const char* m_data, ...){ CString str; char printf_buf ...

  8. java 对list中对象按属性排序

    实体对象类 --略 排序类----实现Comparator接口,重写compare方法 package com.tang.list; import java.util.Comparator; publ ...

  9. libthrift0.9.0解析(三)之TProtocol&TTransport

       以上是transport和protocol的类图和结构图. transport封装了底层的传输通道,主要有read/write.open/close等基本的读写方法,而且都是对于二进制数据. p ...

  10. 【转】windows消息16进制对应表

    来源:http://blog.sina.com.cn/s/blog_962250db0101d4mj.html windows mobile编程,无论使用eVC还是.net CF,都脱不开window ...