- 浏览: 175072 次
- 性别:
- 来自: 苏州
文章分类
- 全部博客 (87)
- Android (7)
- J2EE (34)
- JavaScript (6)
- CSS (1)
- Scala (0)
- WEB (5)
- Ruby (1)
- J2EE Netbeans JDK (1)
- Maven (2)
- AndroidMenuTest (0)
- ExtJS (1)
- MyBatis (4)
- iBatis (3)
- Quartz (1)
- JavaABC (3)
- HTML (1)
- JQuery (2)
- mysql (3)
- Linux (2)
- windows (1)
- ant (2)
- jboss (1)
- eclipse (1)
- junit (1)
- nginx (1)
- Google (0)
- git (2)
- python (1)
- kafka (1)
- sqlserver (1)
- jdk8+ (1)
1.从全量日志中截断部分日志
#1.截取末尾10000行
tail -1000 /data/logs/hadoop/hadoop-dcadmin-zkfc-hadoop-180-010.log > cut1w.log
#2.按照时间范围截取日志
sed -n '/2019-08-09 01:59/,/2019-08-09 11:14:24/p' hadoop.log > cut10h.log
#3.搜索关键字截取日志
tail -10000 /data/logs/hadoop/hadoop-dcadmin-zkfc-hadoop-180-010.log | grep SERVICE_NOT_RESPONDING > cutservice.log
#4.正则匹配截取超过5000ms的rpc日志
cat hadoop-dcadmin-namenode-hadoop-180-030.log* | grep 'took 5[0-9][0-9][0-9] milliseconds' > nnSlowRpc5s.log
#5.正则匹配多个字符串
grep -E "varchar|Slow RPC" tempsql.sql >nnSlowRpc5s.log
#6.指定打印3-6行
sed -n '3,10p' hadoop-dcadmin-namenode-hadoop-180-010.log.1 //打印3~10行
2.sed列式选择筛选日志
如下csv文件内容:
"1234","jd_newmember","awktest-jDGoWzFjnfhryGX5AepcE","0.9999"
"1234","jd_newmember","awktest-jD5koAx9Jl8R-4SexpcrM","0.9999"
"1234","jd_newmember","awktest-Du5bjYaSN6TrxOIgfpw0","0.9999"
"1234","jd_newmember","awktest-jDoV83iydyKjTtPNgaCYM","0.9999"
"1234","jd_newmember","awktest-jDlN4vlz-mOzfDlr4pae4","0.9999"
需要选择出第三列,常规方法可以使用xls,选择第三列,然后批量替换掉双引号,用awk可以一次性完成。对于规律的用逗号分隔的可以用xls筛选列,当分隔符不规律时awk的强大就体现出来了,可以FS指定任意的分隔符。
#FS指分隔符 "," , $3是打印按照分隔符\",\"的第三列
awk 'BEGIN {FS="\",\""} {print $3}' test_JDnewmember.csv > jd_filter.csv
3.more、less日志翻页搜索
在简单的翻看Linux上的日志时也可以用more、less,翻页是Ctrl+f,前一页是Ctrl+b,搜索用斜杠/,跳转到下一个是n,基本上指令与vim的一致。
more hadoop-dcadmin-namenode-hadoop-180-010.log.1
4.替换内容
#1.替换行尾1个以上的空格
[ ^t]+$
#0.匹配1个或者多个空格
[ ^]+
#1.替换行尾1个以上的空格
[ ^]+$
#2.行首多个空格
^[ ^]+
#3.替换换行符和回车符,可以使用notepad++的“扩展”,常见的换行是由回车符合换行符一起组成 \r\n,有只包含\n。
\r\n
#4.匹配包含字符串“MemberLatestSmsTime”的整行。
^.*MemberLatestSmsTime.*$
#匹配连续数字+多个字符到行尾,'[0-9]+':多个连续数字,'.*':多个字符,'$':行尾。“eventHdfsBolt-30-36-1572491424981.txt 8144 bytes, 1 block(s),”
[0-9]+ bytes.*$
#当文件比较大,只能在Linux上面处理时可以用sed来批量替换
sed 's/long/field/g' select* > selectAll.xml //替换字符long为field
sed 's/tmp/UPDATE tasks/g' temp3.sql > temp4.sql //替换字符tmp为目标字符
sed 's/^/Head/g' temp3.sql > temp5.sql //添加到行首
sed 's/$/&TAIL/g' test.file //添加到行尾
sed 's/`//1' temp08-final.sql > temp09-update.sql #替换第一个匹配的字符
awk 'BEGIN{OFS=" "}{print $1,$2,$3,$4,$4 }' temp05.sql //指定输出域符号OFS为空格
#5. 多个空格+字符到行尾,替换成其他字符,如下替换成分号。空格+竖线+行尾标识。
[ ^]+\|$
#1.截取末尾10000行
tail -1000 /data/logs/hadoop/hadoop-dcadmin-zkfc-hadoop-180-010.log > cut1w.log
#2.按照时间范围截取日志
sed -n '/2019-08-09 01:59/,/2019-08-09 11:14:24/p' hadoop.log > cut10h.log
#3.搜索关键字截取日志
tail -10000 /data/logs/hadoop/hadoop-dcadmin-zkfc-hadoop-180-010.log | grep SERVICE_NOT_RESPONDING > cutservice.log
#4.正则匹配截取超过5000ms的rpc日志
cat hadoop-dcadmin-namenode-hadoop-180-030.log* | grep 'took 5[0-9][0-9][0-9] milliseconds' > nnSlowRpc5s.log
#5.正则匹配多个字符串
grep -E "varchar|Slow RPC" tempsql.sql >nnSlowRpc5s.log
#6.指定打印3-6行
sed -n '3,10p' hadoop-dcadmin-namenode-hadoop-180-010.log.1 //打印3~10行
2.sed列式选择筛选日志
如下csv文件内容:
"1234","jd_newmember","awktest-jDGoWzFjnfhryGX5AepcE","0.9999"
"1234","jd_newmember","awktest-jD5koAx9Jl8R-4SexpcrM","0.9999"
"1234","jd_newmember","awktest-Du5bjYaSN6TrxOIgfpw0","0.9999"
"1234","jd_newmember","awktest-jDoV83iydyKjTtPNgaCYM","0.9999"
"1234","jd_newmember","awktest-jDlN4vlz-mOzfDlr4pae4","0.9999"
需要选择出第三列,常规方法可以使用xls,选择第三列,然后批量替换掉双引号,用awk可以一次性完成。对于规律的用逗号分隔的可以用xls筛选列,当分隔符不规律时awk的强大就体现出来了,可以FS指定任意的分隔符。
#FS指分隔符 "," , $3是打印按照分隔符\",\"的第三列
awk 'BEGIN {FS="\",\""} {print $3}' test_JDnewmember.csv > jd_filter.csv
3.more、less日志翻页搜索
在简单的翻看Linux上的日志时也可以用more、less,翻页是Ctrl+f,前一页是Ctrl+b,搜索用斜杠/,跳转到下一个是n,基本上指令与vim的一致。
more hadoop-dcadmin-namenode-hadoop-180-010.log.1
4.替换内容
#1.替换行尾1个以上的空格
[ ^t]+$
#0.匹配1个或者多个空格
[ ^]+
#1.替换行尾1个以上的空格
[ ^]+$
#2.行首多个空格
^[ ^]+
#3.替换换行符和回车符,可以使用notepad++的“扩展”,常见的换行是由回车符合换行符一起组成 \r\n,有只包含\n。
\r\n
#4.匹配包含字符串“MemberLatestSmsTime”的整行。
^.*MemberLatestSmsTime.*$
#匹配连续数字+多个字符到行尾,'[0-9]+':多个连续数字,'.*':多个字符,'$':行尾。“eventHdfsBolt-30-36-1572491424981.txt 8144 bytes, 1 block(s),”
[0-9]+ bytes.*$
#当文件比较大,只能在Linux上面处理时可以用sed来批量替换
sed 's/long/field/g' select* > selectAll.xml //替换字符long为field
sed 's/tmp/UPDATE tasks/g' temp3.sql > temp4.sql //替换字符tmp为目标字符
sed 's/^/Head/g' temp3.sql > temp5.sql //添加到行首
sed 's/$/&TAIL/g' test.file //添加到行尾
sed 's/`//1' temp08-final.sql > temp09-update.sql #替换第一个匹配的字符
awk 'BEGIN{OFS=" "}{print $1,$2,$3,$4,$4 }' temp05.sql //指定输出域符号OFS为空格
#5. 多个空格+字符到行尾,替换成其他字符,如下替换成分号。空格+竖线+行尾标识。
[ ^]+\|$
+------------------------+ | create_user | +------------------------+ | test_ganfanren_ytb20 | | test_ganfanren01 | | test_ganfanren_ytb29 | | test_ganfanren_rlb01 | | test_ganfanren_cwb02 | | test_ganfanren_gxnl01 | | test_ganfanren_nlzc01 | | test_ganfanren_jfb01 |
发表评论
-
GC参考手册
2017-11-09 14:12 543英文版原文:GC Tuning: In Practice 垃圾 ... -
IDENTITY_INSERT 设置为 OFF 时无法指定插入自增ID
2017-02-15 16:10 657IDENTITY_INSERT 设置为 OFF 时,无法指定I ... -
运行时Exception:Wrong return type in function
2015-11-17 21:31 1518D:\Soft\jdk1.7.0_79\bin\java ... -
Java中的常量:如何避免反模式
2015-10-20 20:41 444参考http://www.importnew.com/1670 ... -
java Socket通信小栗子
2015-09-14 09:25 609server端: package com.test.soc ... -
MyBatis 自动生成xml文件
2015-03-12 11:22 3793package com.test.mybatis; ... -
Java mail test
2015-02-12 11:03 1296mail局域网Exchange服务器测试代码,仅限发送到dom ... -
Java Concurrency / Multithreading Tutorial
2014-10-28 09:35 701Java Concurrency / Multithreadi ... -
Comparison method violates its general contract!
2014-10-22 17:24 958jdk1.6升级到1.7后Comparator有null的参数 ... -
JDK1.7 不兼容compare方法
2014-10-21 16:20 782java.lang.IllegalArgumentExcept ... -
Unknown Source的出现及解决
2014-06-18 10:03 928http://www.2cto.com/kf/201103/8 ... -
ApplicationDeadlockException
2014-06-16 15:39 782参考 : How to avoid huge transact ... -
Java Date相关处理
2014-02-26 14:35 6051.获取UTC时间: Calendar c ... -
Error listenerStart
2013-12-11 19:25 724INFO: Deploying web applicati ... -
Error configuring application listener of class org.springframework.web.context.
2013-12-07 18:54 38179如果Eclipse的BuildPath里面不缺jar包并且在 ... -
iReport字体报错“JRFontNotFoundException”
2013-10-11 11:08 12788net.sf.jasperreports.engine.uti ... -
Eclipse里Jboss的配置
2013-07-15 17:41 9571.\WorkSpace\.metadata\.plugins ... -
Ant安装使用入门
2013-07-04 14:03 567下载Ant之后,增加环境变量1.ANT_HOME=xx/xx/ ... -
javaSystem获取系统信息
2013-03-27 16:30 807public static void main(Strin ... -
设计模式学习笔记
2013-03-22 18:01 838简单工厂,策略模式,单一职责,开放封闭,依赖倒转 装饰模式,代 ...
相关推荐
"免费的日志查看小工具"正是一款专为站长设计的实用工具,它能够帮助用户轻松地查看和分析网站的日志文件,以便更好地理解网站的运行状况。下面我们将深入探讨日志查看的重要性、日志文件的类型以及如何利用这样的小...
首先,我们需要理解日志过滤的基本概念。日志过滤通常涉及两个主要方面:日志级别和过滤规则。日志级别包括DEBUG、INFO、WARN、ERROR和FATAL等,开发者可以根据需要设置最低的日志级别,低于这个级别的日志将不会被...
"日志监视小工具"是一款专门用于监控大型日志文件的实用脚本,它具有出色的性能和高度的灵活性。在IT运维中,日志文件是系统运行状态的重要记录,通过实时监控日志,我们可以及时发现并解决问题,保障系统的稳定运行...
日志查看工具的核心功能包括快速滚动、分页、过滤和搜索。快速滚动允许用户在大量日志数据中轻松移动,分页则可以防止一次性加载过多内容导致的性能问题。过滤功能允许用户只显示符合特定条件(如日志级别、关键词)...
Nginx日志分析工具2.1.0是一款专为Windows平台设计的软件,用于高效地解析、统计和分析Nginx服务器产生的日志文件。Nginx作为一款高性能的Web服务器和反向代理服务器,广泛应用于各类网站和应用程序中。在日常运维...
短信过滤小工具是一款基于源码开发的实用工具,主要用于帮助用户筛选和管理手机中的短信,尤其适用于处理大量的垃圾广告信息,提升用户的信息安全和使用体验。这个工具的压缩包包含了必要的源码文件,用户可以自行...
系统日志诊断工具是IT维护和故障排查过程中不可或缺的一部分,它们帮助我们收集、分析和解释来自操作系统以及其他软件组件的日志信息。这些工具通常用于识别和解决各种系统问题,包括性能瓶颈、安全事件、应用程序...
"jdbc日志慢SQL过滤工具" 是一个专门针对JDBC(Java Database Connectivity)的日志处理工具,它的主要功能是筛选并提取出那些执行时间较长的SQL语句,即“慢SQL”。这样的工具对于数据库性能优化和监控来说至关重要...
本文将深入探讨“c# 写日志小工具类”的核心概念、实现方式以及它在实际开发中的应用。 日志记录通常包括记录错误、警告、信息和调试消息,这些记录可以帮助我们在程序出现问题时进行诊断。一个简单的日志小工具类...
这类工具通常会提供过滤、搜索、统计等功能,帮助用户快速定位问题或获取运行趋势。 至于压缩包子文件的文件名列表只有“src”,这通常是源代码目录的名称,意味着压缩包里包含了Java项目的源代码文件。开发者可以...
超大log日志编辑查看工具是专为处理海量日志数据设计的实用工具,它允许用户高效地浏览和分析这些通常非常庞大的文件。这样的工具对于系统管理员、开发人员以及任何需要排查问题或监控系统状态的人来说都极其有用。 ...
使用"logtoolV1"时,可能需要了解一些基本的命令行操作,比如如何启动工具、指定日志源、设置过滤规则等。此外,学习如何解析日志文件格式,理解不同类型的日志条目含义,也是有效利用该工具的关键。 在实际使用中...
5. 使用工具提供的过滤器来筛选特定应用的日志,或者自定义过滤规则。 6. 分析收集的日志,查找错误、警告和其他有用的信息,以诊断和解决问题。 总的来说,Android日志获取工具是开发者不可或缺的辅助工具,它们...
《大日志查看工具LogView:高效处理海量日志分析》 在信息技术领域,日志文件是系统、应用运行过程中的重要记录,它们承载着丰富的信息,如错误报告、性能指标、用户行为等。然而,随着系统规模的扩大,日志文件的...
glogg是一款开源软件,它的主要特点是界面简洁、操作直观,同时具备强大的日志过滤和搜索功能。这款工具允许用户快速浏览和分析大量日志数据,从而提高工作效率。以下是对glogg关键特性和功能的详细介绍: 1. **...
- **日志过滤**:实验可能涉及根据特定关键词或模式过滤日志,例如只保留包含特定错误代码的日志条目。 3. **Log2DB.py**: - **数据持久化**:Log2DB.py 可能是一个 Python 脚本,用于将过滤后的日志数据存储到...
《高速文件过滤工具详解》 在信息技术领域,数据处理与管理是至关重要的环节,而文本过滤作为其中一种基础工具,其高效性和实用性不言而喻。本文将详细探讨一款名为“高速文件过滤工具”的应用程序,它专注于文本...
这表明该工具至少具备基本的日志搜索和过滤功能,允许用户快速定位到特定的错误或事件。 在提供的压缩包文件中,我们看到了以下文件: 1. **LogView.chm**:这是一个帮助文件,通常包含有关软件的详细使用指南、...
这就是“FilterTerminal”——一个无需安装、小巧便携的串口过滤工具,它的出现极大地提升了调试效率。 FilterTerminal的核心功能在于其强大的数据过滤机制。用户在连接到串口后,可以根据需要设置过滤关键字。这...