`
cfyme
  • 浏览: 273554 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

统计push点击次数的shell脚本最初版本1

 
阅读更多

     在工作中,运营人员需要统计到push被点击的次数,客户端当push被点击打开的时候,服务端会记录到日志文件push_feed_back_log.log中,格式如下:

    2015-04-13 00:05:51,android,queryItemList,81a9831f09baf5f876bf3244db6f2392,pinpait_2862

    2015-04-13 00:06:21,android,queryItemList,1e570c6400ef8e65ad07d5aa865c7779,pinpait_2862

    2015-04-13 00:06:30,android,queryItemList,1e570c6400ef8e65ad07d5aa865c7779,pinpait_2862

    2015-04-13 00:08:20,android,queryItemList,5bbb9bcebf819d2d6f91418982a43414,campaign_568

    2015-04-13 00:09:41,android,queryItemList,9c96753a365ecc8bfb207fdc9c519c6c,campaign_568

 

    1,如果每次用linux命令去统计,浪费时间,为了提高效率

     于是写了统计的shell脚本:

  

#!/bin/sh

 date=`date   -d   -1day +%Y-%m-%d`;
 masterPath=/home/www/logs/taofen8/master;
 apiPath=/home/www/logs/taofen8/api;
 path=/home/www/logs/taofen8;
 hisPath=/data/history/taofen8;
 log=$path/master/push_feed_back_log.log.$date 
 echo "==============start==================";

if [ ! -f "$log" ]; then
   #判断文件是否存在
   masterPath=$hisPath/master;
   apiPath=$hisPath/api;
fi

 echo "==============date$date===================" > /tmp/mymaster.txt;	

 cat $masterPath/push_feed_back_log.log.$date  |awk -F ","  '{a[$2" "$5]+=1}END{for(i in a) printf "%s %s\n",i,a[i]}' | sort -k 3 -n -r | head -n 15 >>/tmp/mymaster.txt

 echo "===============API==================" >> /tmp/mymaster.txt;	
 
 cat $apiPath/push_feed_back_log.log.$date  |awk -F ","  '{a[$2" "$5]+=1}END{for(i in a) printf "%s %s\n",i,a[i]}' | sort -k 3 -n -r | head -n 15 >>/tmp/mymaster.txt

 echo "=================end================" >> /tmp/mymaster.txt;	

 

   2,服务器授权并执行shell脚本,就会将统计结果输出到/tmp/mymaster.txt文件中:

   格式如下:

   ==============date2015-04-12===================

android pinpait_2862 93

android campaign_568 66

android pinpait_2930 25

iphone campaign_568 23

===============API==================

android campaign_568 702

android pinpait_2862 239

android pinpait_2930 158

iphone campaign_568 116

iphone pinpait_2862 77

=================end================

 

分享到:
评论

相关推荐

    notify-via-pushover:notify-via-pushover 通过 Pushover 多平台消息服务发送通知

    关于notify-via-pushover 我希望能够向一组不同的手持设备发送推送通知,我找到了 Pushover.net,这是一项支持 ... 这个工具最初是为了与 Naemon 和 op5 一起使用来发送通知而编写的,但采用这个脚本来适应其他领域

    Git Bash下载包、下载之后也可以有Git GUI

    Git Bash是Windows操作系统中用于使用Git命令行工具的模拟环境,它使得在Windows上可以方便地执行类Unix命令,如bash shell脚本。Git Bash包含了Git的所有功能,并且提供了类似于Linux终端的界面,这对于习惯于...

    耸肩版本控制

    "Shell"标签表明"耸肩版本控制"可能依赖于Shell脚本,这是一系列用于自动化Unix或类Unix操作系统任务的命令。通过Shell脚本,开发者可以编写自定义的工具或脚本来执行Git操作,如提交、推送、拉取等,而无需直接与...

    Git-2.11.0-64-bit.zip

    1. **版本控制**:Git能够记录代码的每一次修改,用户可以轻松查看历史版本,比较不同版本之间的差异,并能恢复到任何历史状态。 2. **分支管理**:Git的分支系统是其强大之处,开发者可以快速创建、切换和合并分支...

    Perl_学习手札.pdf

    1. **Perl的历史**:Perl最初是为了替代UNIX上的shell脚本而设计的,随着时间的发展,它逐渐演变成了一种广泛应用于多种领域的通用编程语言。 2. **Perl的概念**:Perl是一种解释型语言,意味着它可以逐行解释并执行...

    JS/VBS教程chm手册

    JavaScript(简称JS)和Visual Basic Script(简称VBS)是两种常见的脚本语言,广泛应用于网页和系统自动化中。这份"JS/VBS教程chm手册"涵盖了这两种语言的基础到高级概念,是学习和提升这两种技术的宝贵资源。 ...

    支持所有中文的adb.exe文件

    1. **设备连接**:adb可以通过USB或Wi-Fi连接到Android设备,提供了一个桥梁,使得开发者可以将应用安装到设备、传输文件、执行shell命令以及获取设备日志。 2. **安装应用**:使用`adb install`命令,开发者可以将...

    git-semcomp-beta-2018:去

    - **脚本编写**:了解如何编写Shell脚本来自动化Git任务,提高开发效率。 8. **实际应用**: - **Semcomp Beta项目**:可能是参与者们共同协作的一个编程竞赛或教学项目,通过Git进行团队协作和代码管理。 在这...

    Unix_Git_Intro

    4. **脚本(Scripting)**:Unix shell允许编写shell脚本,实现自动化任务,如`for file in *.txt; do echo $file; done`将列出所有.txt文件。 Git则是版本控制系统的代表,由Linus Torvalds为Linux内核开发。Git的...

    perl指令,学习perl指令必备

    Perl集成了多种语言的特点,包括C、C++、shell script、sed以及awk的语法,最初被设计用于取代UNIX中的sed和awk,以进行数据汇总和报表生成。 随着时间的发展,Perl的功能不断扩展,现在几乎可以用于任何类型的编程...

    Kpage, a command-line Kannel pager-开源

    3. **自动化工作流**:结合shell脚本,Kpage可以实现定时发送短信,如定时备份提醒、报警通知等。 4. **教育与研究**:学习移动通信和短信网关工作原理时,Kpage是一个理想的实践工具。 通过了解和使用Kpage,用户...

    jetty指导书

    在Linux环境下,通常通过Shell脚本来控制Jetty的启动和关闭,还需要注意的是Linux下的权限设置和环境变量配置。 - **2.6.1 系统变量的设置**: 如`JAVA_HOME`和`JETTY_HOME`。 - **2.6.2 命令参数**: 可以通过命令行...

    Eclipse_Swt_Jface_核心应用_部分19

    第1章 Java语言的GUI历史 2 1.1 最初的AWT 2 1.2 Swing工具包 3 1.3 Eclipse的诞生 3 1.4 Eclipse贡献SWT工具包 5 1.4.1 SWT的结构 6 1.4.2 SWT所支持的操作系统 6 1.5 Sun AWT/Swing与Eclipse SWT 7 ...

Global site tag (gtag.js) - Google Analytics