博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
shell脚本实例
阅读量:6082 次
发布时间:2019-06-20

本文共 1291 字,大约阅读时间需要 4 分钟。

定位分析脚本

shell脚本实例,初级待优化。

#!/bin/bash#echo >tmp.txt            #初始化tmp.txt文件,用作存取每天错误最多的5个省份dir=/wh_k/numecho ""  | tee $dir/$j.txt  #初始化各省份信息A=`cat /wh_k/Sfen.txt`      #获取所有省份信息for i in $A                 #获取每天错误最多的省份do   echo >/wh_k/num/$i.txt    (echo -n "$i     " && grep $i test.txt | awk '{print $1}' | awk '{sum+=$1}END{print sum}')>>tmp.txtdoneB=`sort -n -k2 tmp.txt | tail -n 5 | awk '{print$1}'`for j in $B    #获取错误代码及省份代码  do    code_group=`grep $j test.txt | awk '{print$2}'`    provinces_group=`grep $j test.txt | awk '{print$3}'`    codes=($code_group)    provinces=($provinces_group)    count=${#codes[@]}    for ((i=0;i<$count;i++))         do             echo "code: "${codes[$i]} && echo "provinces: "${provinces[$i]}             grep -w "${codes[$i]}" /wh_k/20180604.log | grep -w "${provinces[$i]}">>/wh_k/num/${provinces[$i]}.txt         done    echo "----------"  done

补充知识点

获取某一列中所有数的和

awk '{print $1}' | awk '{sum+=$1}END{print sum}'

第二列进行排序(默认升序,降序加r参数)

sort -n -k2sort -nr -k2

定义数组

code_group=`grep $j test.txt | awk '{print$2}'`codes=($code_group)

获取数组中元素的个数

count=${#codes[@]}

遍历数组中的元素

${codes[@]}

for循环

for ((i=0;i<$count;i++))

获取数组值,i表示位置

${codes[$i]}

精准匹配

grep -w

去#行显示

grep -V ^#  (-V反选

匹配前后n行

grep -C n name /xx.log

转载于:https://blog.51cto.com/13689359/2124974

你可能感兴趣的文章
低版本Samba无法挂载
查看>>
Telegraf+Influxdb+Grafana构建监控平台
查看>>
使用excel 展现数据库内容
查看>>
C#方法拓展
查看>>
MySql.Data.dll的版本
查看>>
Linux系统磁盘管理
查看>>
hdu 2191 (多重背包+二进制优化)
查看>>
home.php
查看>>
neo4j---删除关系和节点
查看>>
redis分布式锁redisson
查看>>
什么样的企业可以称之为初创企业?
查看>>
Python爬虫之BeautifulSoup
查看>>
《HTML 5与CSS 3权威指南(第3版·下册)》——第20章 使用选择器在页面中插入内容...
查看>>
如何判断自己适不适合做程序员?这几个特点了解一下
查看>>
newinstance()和new有什么区别
查看>>
android下载封装类
查看>>
[node] 用 node-webkit 开发桌面应用
查看>>
Nginx访问控制和虚拟主机
查看>>
report widget not working for external users
查看>>
windows phone 摄像头得到图片是旋转90°
查看>>