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

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

#!/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}"

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值