【awk】按小时切割日志
需求:
把日志按日志内容中的小时数做切割
{hostname=ali-beijing-msync-3512} 2017-05-17 23:17:52.694 [info] <0.27292.7053>@msync_c2s_lib:delete_pb_jid_entry:266 delete pb jid {'JID',<<"17zuoye">>
{hostname=ali-beijing-msync-3513} 2017-05-17 23:17:52.694 [info] <0.27292.7053>@msync_c2s_lib:delete_socket_entry:164 delete socket #Port<0.34411764>
这种字符处理的工作非sed,awk莫属了
下面是我用awk完成的单行代码
awk --re-interval
'/^\{[^ ]+\} [0-9]{4}-[0-9]{2}-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}/{ # 一定要清楚的知道正常的日志是什么样子,因为日志中不排除有异常栈之类的错误信息,这就导致awk异常
fn=gensub(/[^ ]+ ([-]{})-([-]{})-([-]{}) ([-]{}):[-]{}:[-]{}\.[-]+ .*/,"\\1\\2\\3\\4","g"); #gensub提取你需要的信息
if(fn != lastdate){
if(lastdate != "") close(outfile) #及时关闭上一个文件
};
lastdate=fn;
outfile=sprintf("ejabberd-login-log_%s",fn); #你需要生成的日志文件名
print >> outfile}'
【awk】按小时切割日志的更多相关文章
- Logrotate实现Catalina.out日志每俩小时切割
一.Logrotate工具介绍 Logrotate是一个日志文件管理工具,它是Linux默认自带的一个日志切割工具.用来把旧文件轮转.压缩.删除,并且创建新的日志文件.我们可以根据日志文件的大小.天数 ...
- Awk使用及站点日志分析
Awk使用及站点日志分析 Awk简单介绍 概述 awk是一个强大的文本分析工具,相对于grep的查找,sed的编辑,awk在其对数据分析并生成报告时,显得尤为强大.简单来说awk就是把文件逐行的读入, ...
- linux服务器自动切割日志
需求 由于nginx的日志会不停地增大,所以需要我们自己去切割日志,方便管理,需要达到以下的效果: 按日期自动切割日志,最小单位是天. 当日志总量超过一定量时,自动直接清理日志,限定总量不能超过100 ...
- nginx 自动化定时切割日志
NG在默认情况下,是始终输出到一个日志文件中,日志文件在nginx.conf中 : access_log logs/www.access.log main; 一个文件中不是很方便查找,分析数据, ...
- nginx按天切割日志
原文链接:http://www.cnblogs.com/benio/archive/2010/10/13/1849935.html 本文只节选部分内容 Nginx自己没有日志分割的功能,一旦时间过长 ...
- Linux下配置Nginx按天切割日志
Nginx由于轻巧和高效的设计风格,去掉了一些额外的功能,所以它不像apache那样有自动切割日志. 建立一个脚本文件,并保证这个文件有可执行的权限:1.建立一个文件/root/log.nginx.s ...
- nginx切割日志脚本
nginx切割日志脚本 #!/bin/bash #cut nginx log #2018年9月26日14:26:44 #by jiajiezhao ########################## ...
- python 多线程日志切割+日志分析
python 多线程日志切割+日志分析 05/27. 2014 楼主最近刚刚接触python,还是个小菜鸟,没有学习python之前可以说楼主的shell已经算是可以了,但用shell很多东西实现起来 ...
- [Java][log4j]支持同一时候按日期和文件大小切割日志
依据DailyRollingFileAppender和RollingFileAppender改编,支持按日期和文件大小切割日志. 源文件: package com.bao.logging; impo ...
随机推荐
- Source命令及脚本的执行方式
[Source命令及脚本的执行方式] source filename 与 sh filename 及./filename执行脚本的区别在那里呢? 1.当shell脚本具有可执行权限时,用sh file ...
- JSP中系统Date的几点不符合中国时间观的地方
正常调用系统时间的显示格式是Date date = new Date 显示出来的当前时间为Sun Nov 22 18:39:51 CST 2015 星期天的英文单词是Sun, 这个大家都是熟悉的, 这 ...
- ubuntu17.10 安装ssh
sudo apt-get install openssh-server sudo /etc/init.d/ssh start
- MD5加密算法原理及其应用
MD5是一个安全的散列算法,输入两个不同的明文不会得到相同的输出值,根据输出值,不能得到原始的明文,即其过程不可逆:所以要解密MD5没有现成的算法,只能用穷举法,把可能出现的明文,用MD5算法散列之后 ...
- Python深度学习之安装theano(windows)
前方预警:windows的坑太多了,抛弃用linux吧 安装theano,提前清空自己的python环境吧,坑太多了,anaconda会自动安装path 一,首先安装python包管理anaconda ...
- std::time(0)找不到
http://zh.cppreference.com/w/cpp/chrono/c/time #include <ctime> isnan找不到 http://en.cppreferenc ...
- ie8开发人员工具无法使用,按f12任务栏里出现任务,但是窗体不弹出
楼主解决了么,刚出现你这样的问题,找了N久,终于解决了,他娘的,偏方啊任务栏不是出现那个箭头么,点击后没反应是吧在缩略图上点右键-最大化,然后就出来了,ctrl+p反正是可以出来调试模式 神人哪,IE ...
- windows平台下spark-shell配置
一.下载安装spark,http://spark.apache.org/,选择合适版本后下载到本地,解压,bin目录下spark-shell文件就是spark命令行交互的入口. 二.下载安装windo ...
- Object 和 JSON 区别联系
JavaScript Object-based JavaScript is almost entirely object-based. Object name Object property name ...
- html 中的<script>标签
https://www.w3.org/TR/html51/semantics-scripting.html#the-script-element 一. <script type='text/ja ...