• [Linux] 获取出日志中的邮箱shell


    需求是把所有的日志中邮箱获取出来,根据指定关键字过滤,邮箱的格式是 xxx@xxx 的格式,日志的存放是按照日期作为目录

    #!/bin/bash
    logBasePath="/data1/mailLog/app/kafka/";
    monthYearDay=`date -d "1 day ago" +"%Y-%m-%d"`;
    
    #安卓每日邮箱个数
    logPath="${logBasePath}${monthYearDay}/api-mail-sina-com-cn.log";
    tmpFile="/tmp/${monthYearDay}.android.email.log";
    echo "start android email...";
    cat $logPath|grep '2026078627'|grep -oP '\t[^\]+@.*?\t'|sed 's/\t//g'|uniq|sort -u > $tmpFile;
    echo $tmpFile;
    androidEmailNum=`wc -l ${tmpFile}`;
    
    #IOS每日邮箱个数
    tmpFile="/tmp/${monthYearDay}.ios.email.log";
    echo "start ios email...";
    cat $logPath|grep '2503566089'|grep -oP '\t[^\]+@.*?\t'|sed 's/\t//g'|uniq|sort -u > $tmpFile;
    echo $tmpFile;
    iosEmailNum=`wc -l ${tmpFile}`;
    
    #安卓每日设备数
    tmpFile="/tmp/${monthYearDay}.android.device.log";
    echo "start android device...";
    cat $logPath|grep '2026078627'|grep -oP "device_id=[^&"]+"|uniq|sort -u > $tmpFile;
    echo $tmpFile;
    androidDeviceNum=`wc -l ${tmpFile}`;
    
    #ios每日设备数
    tmpFile="/tmp/${monthYearDay}.ios.device.log";
    echo "start ios device...";
    cat $logPath|grep '2503566089'|grep -oP "device_id=[^&"]+"|uniq|sort -u > $tmpFile;
    echo $tmpFile;
    iosDeviceNum=`wc -l ${tmpFile}`;
    
    mailContent="
    Android每日邮箱账号活跃数:<br/><br/>${androidEmailNum}<br/><br/>IOS每日邮箱账号活跃数:<br/><br/>${iosEmailNum}<br/><br/>
    Android每日设备活跃数:<br/><br/>${androidDeviceNum}<br/><br/>IOS每日设备活跃数:<br/><br/>${iosDeviceNum}
    "
    echo $mailContent;
    php /usr/local/sinamail/tools/new/sumMobileDevice/sumMobileDevice.php  "${mailContent}"
  • 相关阅读:
    H
    G
    hdu1430魔板
    1104. Don’t Ask Woman about Her Age(数论)
    bellman_ford寻找平均权值最小的回路
    bellman_ford算法
    强联通块tarjan算法
    割点算法
    字符串的最小表示法
    扩展KMP
  • 原文地址:https://www.cnblogs.com/taoshihan/p/11959991.html
Copyright © 2020-2023  润新知