常用输出脚本

(
echo "input time 24HH"
read hour;
min=`seq -w 00 59`
for m in $min
do
   data=$hour:$m:;
   tmp=`cat onlineTime.log|grep EP01|awk '{print $3,$6,$5,$10,$NF}'|grep $data|awk -F '[' '{print $3}'|awk -F']' '{print $1}'|awk '{sum+=$1} END {printf "ave=[%10.0f]  num=[%10s]\n",sum/NR,NR}'`
   echo "$data  $tmp"
done
)
 
(
echo "input time 24HH"
read hour;
min=`seq -w 00 59`
for m in $min
do
  echo "$hour:$m"
done
)
 
for i in `cut -c9-13 onlineTime.log|sort -u`
do 
 tmp=`cat onlineTime.log|grep EP01|awk '{print $3,$6,$5,$10,$NF}'|grep $i|awk -F '[' '{print $3}'|awk -F']' '{print $1}'|awk '{sum+=$1} END {printf "ave=[%10.0f]  num=[%10s]\n",sum/NR,NR}'`
 
 echo "$i  $tmp"
done
 
 
for i in `cut -c1-5 test|sort -u`
do  
 tmp=`cat test|grep $i|awk -F '[' '{print $3}'|awk -F']' '{print $1}'|awk '{sum+=$1} END {printf "ave=[%10.0f]  num=[%10s]\n",sum/NR,NR}'`
 
 echo "$i  $tmp"
done

cat test|grep "16\:41"|awk -F '[' '{print $3}'|awk -F']' '{print $1}'|awk '{sum+=$1} END {print sum/NR,NR}'
cat online.log |grep "pay-\[ICQ\] time" |awk -F '[' '{print $4}'|awk -F ']' '{print  $1}'|awk '{sum+=$1} END {print "ICQ",sum/NR,"num:"+NR}'
 
tail -f onlineTime.log|awk '{print $3$4$5$6}'
cat epayTime.log |grep "sum  time"|awk '{print $6}'|awk -F '[' '{print $2}'|awk -F ']' '{print $1}'|sort -rn|more
cat epayTime.log |grep "sum  time"|awk '{print $6}'|awk -F '[' '{print $2}'|awk -F ']' '{print $1}'|sort -nrk2 -t[

awk '{sum+=$1} END {print "ICQ average=",sum/NR,"num:"+NR}'
 
rm ` ls |grep 2015|grep -v 07` 排除删除
 
grep -v java  排除java字段
awk -F '['  去除字符
awk '{print $6}' 显示第几个字符
awk -F '['{print NF}' 分割后数据个数
awk -F '['{print $NF}' 分割后最后一个数据值
排序
sort -rn  降序排列
sort -n 升序排列
sort -nrk2 -t[   -t后是分隔符 k指定列数
 
去除重复项
uniq -c 统计重复次数(注意统计次数时需要进行sort一下,因为uniq统计是统计相邻的相同数据认为是重复的,隔一行就不认为是重复的)
uniq -d 仅显示重复行
uniq -u 仅显示不重复行
 
cut剪切
cut -c1-2,4-5 获取1-2,与4-5位置字符
cut -d : -f 2  使用:进行分割并获取分割后的第二个域 空格分割只适用一个空格
posted @ 2016-02-23 11:02  W&L  阅读(203)  评论(0)    收藏  举报