linux中shell脚本

1.将系统命令结果赋值给变量需要使用$(date)调用系统时间
2.调用变量是需要使用格式$date、${date}调用date变量
3.有些命令及关键字需要用空格隔开
4.打印变量时需要用双引号不能用单引号,单引号会原样输出: echo "$date"

while [ 1 ]; do netstat -na | grep 7001; sleep 1;echo -e "\n";done;

(
min=`seq -w 01 31`
for m in $min
do
(
time="2016-05-"$m;
onlineTime="onlineTime.log.$time";
online="online.log.$time";
onlineTimeGz="$onlineTime.gz";
onlineGz="$online.gz";
cp /home/ap/batchlogs/online/$onlineTimeGz /tmp
cp /home/ap/batchlogs/online/$onlineGz /tmp
gzip -d $onlineTimeGz;
gzip -d $onlineGz;
sum=`cat $online |grep "交易代码\[NP19\] 修改交易流水开始"|wc -l`;
timeout5=`cat $onlineTime |grep EP01 |awk '{print $5}'|awk -F '[' '{print $2}'|awk -F ']' '{print $1}'|awk '{ tmp=$1; if(tmp>=5000){max+=1}} END {print max}'`;
EFE0001=`cat $online |grep "核心返回错误"|grep -v "null"|grep EFE0001|wc -l`;
awk -v sum="$sum" -v timeout5="$timeout5" -v EFE0001="$EFE0001" -v time="$time"  'BEGIN{printf "time=%s  sum=%6d EFE0001=%4d timeout5=%4d sucess=%2.4f%\n",time,sum,EFE0001,timeout5,(sum-timeout5-EFE0001)*100/sum}' ;
rm -rf $onlineTime;
rm -rf $online;
)
done
)
);

posted @ 2015-03-03 22:18  W&L  阅读(379)  评论(0)    收藏  举报