- 浏览: 2512807 次
- 性别:
- 来自: 深圳
文章分类
- 全部博客 (676)
- linux运维 (157)
- php (65)
- mysql (78)
- nginx (27)
- apche (18)
- framework (6)
- windows (9)
- IDE工具 (23)
- struts2 (7)
- java (13)
- 移动互联网 (14)
- memcache redis (23)
- shell基础/命令/语法 (37)
- shell (50)
- puppet (4)
- C (11)
- python (9)
- 产品经理 (27)
- Sphinx (4)
- svn (12)
- 设计构建 (12)
- 项目管理 (44)
- SEO (1)
- 网站架构 (26)
- 审时度势 (42)
- 网络 (14)
- 激发事业[书&视频] (81)
- 其它 (12)
- 摄影 (8)
- android (21)
最新评论
-
zhongmin2012:
原文的书在哪里
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
renzhengzhi:
你好,请问个问题,从master同步数据到slave的时候,s ...
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
ibc789:
你好,看了你的文章,我想请教个问题, 我在用 redis的时候 ...
redis 的两种持久化方式及原理 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器 -
iijjll:
写得非常好
数据库水平切分的实现原理解析---分库,分表,主从,集群,负载均衡器
#!/bin/bash a=$1 ##### ================pmd log_xml="/var/www/html/yii/build/logs/pmd.xml" export_html="/var/www/html/yii/build/logs/shell_email.html" #多少报错文件 file_num=$(awk '{if($1~/<file/) print $2}' $log_xml | awk -F \" '{print $2}' |wc -l) #多少message #mess_num=$(awk -F \" '{if($1~/<violation/) print $2,$6,$8}' /var/www/html/yii/build/logs/pmd.xml |wc -l) mess_num=$(awk '/<violation/{line++}END{print line}' $log_xml ) #详细列表 rs="<table border=\"0\" cellpadding=\"0\" width=\"100%\"><tr><td height=\"22\" class=\"bg1\" colspan=\"4\"><p style=\"color:#FFFFFF\"><strong>PMD Result (files:$file_num messages:$mess_num)</strong></p></td></tr><tr><td height=\"22\" bgcolor=\"#4040FF\">No</td><td height=\"22\" bgcolor=\"#4040FF\">Code num</td><td height=\"22\" bgcolor=\"#4040FF\">Message</td><td height=\"22\" bgcolor=\"#4040FF\">File</td></tr>" #rs2=$(awk -F \" '/<file/{a=$2}/\<violation/{print "<tr><td>",i++,"</td><td>","<tr><td>",$2,"</td><td>",$8,"</td><td>",a,"</td></tr>"}' $log_xml |grep -v "<tr><td></td><td>") rs2=$(awk -F \" '/<file/{a=$2}/<violation/{print "<tr><td>",++i,"</td><td>",$2,"</td><td>",$8,"</td><td>",a,"</td></tr>"}' $log_xml ) #IFS_old=$IFS #IFS=$'\n' #for loop in $aa #do #rs2="$rs2 <tr><td>$loop</td></tr>" #done echo "$rs $rs2</table><br><br>" > $export_html #echo "$rs $rs2</table>" > /var/www/html/shell_email.html #IFS=$IFS_old ##### ================checkstyle log_xml="/var/www/html/yii/build/logs/checkstyle.xml" #多少报错文件 file_num=$(awk '{if($1~/<file/) print $2}' $log_xml | awk -F \" '{print $2}' |wc -l) #多少message #mess_num=$(awk -F \" '{if($1~/<error/) print $6,$2,$8}' /var/www/html/yii/build/logs/checkstyle.xml |wc -l) mess_num=$(awk '/<error/{line++}END{print line}' $log_xml) #多少error mess_num_error=$(awk '/severity=\"error\"/{line++}END{print line}' $log_xml) #多少warnings mess_num_warnings=$(awk '/severity=\"warning\"/{line++}END{print line}' $log_xml) #详细列表 rs="<table border=\"0\" cellpadding=\"0\" width=\"100%\"><tr><td height=\"22\" class=\"bg1\" colspan=\"5\"><p style=\"color:#FFFFFF\"><strong>Checkstyle Result (files:$file_num messages:$mess_num error:$mess_num_error warnings:$mess_num_warnings)</strong></p></td></tr><tr><td height=\"22\" bgcolor=\"#4040FF\">No</td><td height=\"22\" bgcolor=\"#4040FF\">Type</td><td height=\"22\" bgcolor=\"#4040FF\">line</td><td height=\"22\" bgcolor=\"#4040FF\">Message</td><td height=\"22\" bgcolor=\"#4040FF\">File</td></tr>" #rs2=$(awk -F \" '/<file/{a=$2} /<error/{print "<tr><td>",++i,"</td><td>",$6,"</td><td>",$2,"</td><td>",$8,"</td><td>",a,"</td></tr>"}' $log_xml | grep -v "<tr><td></td><td></td><td>") rs2=$(awk -F \" '/<file/{a=$2}/<error/{print "<tr><td>",++i,"</td><td>",$6,"</td><td>",$2,"</td><td>",$8,"</td><td>",a,"</td></tr>"}' $log_xml ) #IFS_old=$IFS #IFS=$'\n' #for loop in $aa #do #rs2="$rs2 <tr><td>$loop</td></tr>" #done echo "$rs $rs2</table><br><br>" >> $export_html #echo "$rs $rs2</table>" > /var/www/html/shell_email.html #IFS=$IFS_old ##### ================jslint log_xml="/var/www/html/jslint/out/data/log.xml" #多少报错文件 file_num=$(awk -F \" '{if($1~/<Violation/) print $8}' $log_xml | grep -v "js_all.js" | uniq |wc -l) #多少message #mess_num=$(awk -F \" '{if($1~/<Violation/) print $2,$6,$8,$9}' /var/www/html/jslint/out/data/log.xml | grep -v "js_all.js" |wc -l) mess_num=$(awk '/<Violation/{line++}END{print line}' $log_xml | grep -v "js_all.js") #详细列表 rs="<table border=\"0\" cellpadding=\"0\" width=\"100%\"><tr><td height=\"22\" class=\"bg1\" colspan=\"6\"><p style=\"color:#FFFFFF\"><strong>JSlint Result (files:$file_num messages:$mess_num)</strong></p></td></tr><tr><td height=\"22\" bgcolor=\"#4040FF\">No</td><td height=\"22\" bgcolor=\"#4040FF\">type</td><td height=\"22\" bgcolor=\"#4040FF\">line</td><td height=\"22\" bgcolor=\"#4040FF\">reason</td><td height=\"22\" bgcolor=\"#4040FF\">File</td><td height=\"22\" bgcolor=\"#4040FF\">code</td></tr>" #rs2=$(awk -F \" '{if($1~/<Violation/) print "<tr><td>"$4,"</td><td>",$6,"</td><td>",$9,"</td><td>",$8,"</td></tr>"}' /var/www/html/jslint/out/data/log.xml |grep -v "<tr><td></td><td>" | grep -v "js_all.js") rs2=$(awk -F'"' '/Evidence/{gsub(/\/\/.*/,"",$2);gsub(/_/,"/",$8);sub(/>/,"",$9);sub(/<\/Violation>/,"",$9);sub(/\/var\/www\/html\//,"",$8);print "<tr><td>",++i,"</td><td>",$4,"</td><td>",$6,"</td><td>",$9,"</td><td>",$8,"</td><td>",$2"</td></tr>"}' $log_xml ) #IFS_old=$IFS #IFS=$'\n' #for loop in $aa #do #rs2="$rs2 <tr><td>$loop</td></tr>" #done echo "$rs $rs2</table>" >> $export_html ##### ================gjslint log_xml="/tmp/gjslint.log" /bin/touch $log_xml if [[ $a = gjslint ]] ;then /usr/bin/gjslint -r /var/www/html/yii/blog/www/js/ > $log_xml fi #多少报错文件 file_num=$(awk '/-----/{line++}END{print line}' $log_xml) #多少message mess_num=$(awk '/Line/{line++}END{print line}' $log_xml ) #详细列表 rs="<table border=\"0\" cellpadding=\"0\" width=\"100%\"><tr><td height=\"22\" class=\"bg1\" colspan=\"3\"><p style=\"color:#FFFFFF\"><strong>gjslint Result (files:$file_num messages:$mess_num)</strong></p></td></tr><tr><td height=\"22\" bgcolor=\"#4040FF\">No</td><td height=\"22\" bgcolor=\"#4040FF\">File</td><td height=\"22\" bgcolor=\"#4040FF\">Message</td></tr>" rs2=$( awk -F \: '/-----/{gsub(/-----/,"",$2);gsub(/\/var\/www\/html\//,"",$2);a=$2} /Line/{print "<tr><td>",++i,"</td><td>",a,"</td><td>",$0,"</td></tr>"}' $log_xml ) echo "$rs $rs2</table><br><br>" >> $export_html
发表评论
-
设置sudo为不需要密码
2015-04-17 09:04 10465有时候我们只需要执 ... -
haproxy 安装配置和负载实例
2015-03-27 11:49 11494一、环境说明实验环境 OS CentOS5.4 192.1 ... -
/dev/mapper/VolGroup00-LogVol00 100% 如何处理
2015-03-03 10:51 8107服务器磁盘跑满了, 命令查看 如下 [root@lo ... -
Tsar开源:淘宝内部大量使用的系统监控工具
2014-08-07 09:51 930Tsar是淘宝的一个用来收集服务器系统和应用信息的采集报告 ... -
Linux运维常用命令 (转载)
2013-01-31 10:23 24861 删除0字节文件find-type f - ... -
[汇总]shell笔试
2013-01-24 17:32 3321http://president.blog.51cto.co ... -
linux恢复 rm -rf 删除的文件:extundelete
2013-01-24 15:47 8862http://blog.csdn.net/pang6013 ... -
网站排障分析常用的命令
2013-01-21 18:17 1348------------------------------- ... -
迁移vmware服务器后Device eth0 does not seem to be present
2013-01-21 10:58 2209用VMware 安装 linux 6.0 ... -
检测 mysql 的sleep进程数
2013-01-04 14:13 1597#!/bin/sh 注:这个脚 ... -
LoadRunner如何监控Linux系统资源 : rpc.rstatd
2012-12-17 14:49 10220一 简述:LoadRunner监控Linux资源时弹出如下错误 ... -
僵尸Z进程和D进程
2012-12-10 16:47 13081-------------- 1 关于ZOMBIE进 ... -
Unix操作系统硬链接与符号链接的区别
2012-12-10 16:08 1973Unix操作系统有很多值得 ... -
nagios配置参数详解
2012-12-04 14:12 9385# Nagios return codes#定 ... -
nagios自定义监控nginx php和ip_conn
2012-12-03 17:57 3126自定义ip_conn.sh :http://zhume ... -
【汇总】shell show收藏
2012-11-29 14:03 1226================== shell从文本取对应的 ... -
Kickstart+PXE+DHCP+TFTP+NFS自动安装Centos5
2012-11-29 11:34 1562http://5ydycm.blog.51cto.com/11 ... -
haproxy+keepalived高可用负载均衡(七层)
2012-11-29 10:36 3961HAproxy是一款基于TCP( ... -
LVS+Keepalived
2012-11-29 10:10 1695http://www.linuxvirtualserver.o ... -
haproxy & LVS*(keepalived和heartbeat) & ng的比较
2012-11-29 10:04 7521http://network.51cto.com/art/ ...
相关推荐
主要讲解了关于shell中用awk数组处理文件的用法
awk是unix,linux中处理文本的好工具,本文用一个实例说明awk脚本的编写及使用.
awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理awk文本的处理
用awk处理两个文件的方法:特定域的合并、替换等
自己编写的经过验证的AWK文件, 用于分析NS2中的TRACE文件,来 解析网络性能,保证可以用,但是不同的 机子会有不同的效果,大家改一些绝对可以用。
生成awk测试文件的shell脚本文件,文件共有两个参数(可全部留空),第一个参数是生成的新文件名称,第二个参数是key值名称,也就是内部的重复循环部分的字符串
提取leach图像的awk文件提取leach图像的awk文件提取leach图像的awk文件
linuxawk将多个文件结果列合并到一个文件整理.pdf
linux运维,文本处理三剑客之,awk文本处理工具。非常详细!
简单来说awk就是把文件逐行的读入,以空格为默认分隔符将每行切片,切开的部分再进行各种分析处理。 awk有3个不同版本: awk、nawk和gawk,未作特别说明,一般指gawk,gawk 是 AWK 的 GNU 版本。 awk其名称得...
优点:可分析大日志,大量文件,避免java分析大日志的数据量过大导致的内存泄漏问题。 高效,调用linux shell预筛选,不需加载日志加载的jvm内存。 快速,2-3G的文件可在几十秒内完成筛选,相对java代码分析日志...
加入了自己在平时运用中的实例,比如通过查询数据库生成csv文件或insert语句。将markdown文件转换成了html文件。 awk有许多强大的字符串函数 gsub(r,s) #在整个$0中,用s代替r gsub(r,s,t) 在整个t中,用s代替r ...
我们必须的工具有两个一个是shell一个是awk,awk对于处理文本文件是最最适合的掌握了awk我们就可以很方便的处理文本文件再借助一些shell命令我们可以很方便得到自己想要的结果。现在从简单的例子来总结一下我觉得会...
此外, awk内建有pipe的功能, 可将处理中的数据传送给外部 的 Shell命令加以处理, 再将Shell命令处理后的数据传回awk程序, 这个特点也使得awk程序很 容易使用系统资源. 由于awk具有上述特色, 在问题处理的过程中, 可...
多线程自定义规则 Nginx Access Log 分析器(比AWK快)
awk学习awk学习awk学习awk学习awk学习awk学习awk学习
临到要用的时候发现unix下面通常都是用c实现的ini文件操作,网上搜了半天没有现成可用的,真是郁闷,只好自己写了一个,这个程序是对INI文件进行修改的,其实只要删掉几句就变成了查找的了
awk工具的使用.html
1. awk非常适合于结构化的文本文件(行、列数据)复杂处理。相对于sed而言,它可进行复杂的编程处理,并且可以产生复杂的报表输出。 2. awk通常有三个版本,旧awk、nawk(新)、gawk。Solaris下建议用nawk,因为旧...