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. JSP学习笔记(二):Tomcat服务器的安装及配置

    一.Tomcat的下载及安装. 前往Tomcat官网下载安装包或者免安装压缩包.链接http://tomcat.apache.org/ 这里,我选择的是Tomcat8.0,而不是最新的Tomcat9. ...

  2. html自定义提示框

    自定义html提示框比较令人困惑的就是编写三角形的样式:以前的实现方式是在标签内使用span标签来实现.不过现在有了css提供的两个为类:before,:after之后,可以不用再内置span标签了: ...

  3. 【mac开发.NET】No installed provisioning profiles match the installed iOS signing identities

    编译错误提示 /Library/Frameworks/Mono.framework/External/xbuild/Xamarin/iOS/Xamarin.iOS.Common.targets: Er ...

  4. [转] GPS坐标转换经纬度及换算方法

    GPS坐标和经纬度的算法和概率不太一样,但是我们可能会将他们互通起来用,下面先贴上我做的转换工具:http://map.yanue.net/gps.html.里面实现了gps到谷歌地图百度地图经纬度的 ...

  5. sae storage 使用uploadify插件进行文件批量上传

    uploadify插件在文件上传方面还是很不错的,这不我需要往sae 的storage上上传文件,就用了它.下面我就分享一下如何实现的吧.我们先到官网下载最新的uploadify最新的插件包.在页面中 ...

  6. B/S架构的几种形式

    1. 什么是B/S架构 B/S架构的全称为Browser/Server,即浏览器/服务器结构.Browser指的是Web浏览器,极少数事务逻辑在前端实现,但主要事务逻辑在服务器端实现.B/S架构的系统 ...

  7. MVC4 EF linq从客户端中检测到有潜在的危险的Request.Path值

    今天做项目的时候遇到了这样的问题贴出来给大家分享下啦, 使用MVC4 EF linq跳转视图的时候出现,从客户端中检测到有潜在的危险的Request.Path值错误,如下图所示: 解决办法如下:  r ...

  8. linux的make install命令

    tar zxvf redis-2.8.15.tar.gz cd redis-2.8.15/ make make test make install

  9. GridView、Repeater获取当前行号

    GridView: <%# Container.DataItemIndex+1 %> Repeater:<%# Container.ItemIndex+1%>

  10. C++ 文本读写

    写文件: ofstream of; of.open("test.txt"); string content = "abcd"; of.write(content ...