常用输出脚本
(
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
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
)
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
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
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 使用:进行分割并获取分割后的第二个域 空格分割只适用一个空格