`
victorwmh
  • 浏览: 212769 次
  • 性别: Icon_minigender_1
  • 来自: 宇宙
社区版块
存档分类
最新评论

linux日志分析常用命令

 
阅读更多

1.日志文件

 

java.lang.ArrayIndexOutOfBoundsException: 5
	at com.xxx.ds.bo.BO.setEntity(Unknown Source)	
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.ArrayIndexOutOfBoundsException: 7
	at com.xxx.ds.bo.BO.setEntity(Unknown Source)	
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
 
java.lang.NullPointerException
	at com.xxx.ds.dao.DaoImpl.addTrail(Unknown Source)
	at java.lang.Thread.run(Thread.java:744)
java.lang.ArrayIndexOutOfBoundsException: 10
	at com.xxx.ds.bo.BO.setEntity(Unknown Source)	
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.NullPointerException
	at com.xxx.ds.dao.DaoImpl.addTrail(Unknown Source)
	at java.lang.Thread.run(Thread.java:744)
 

2.日志去重

# cat syslog_1.log syslog_2.log|sed '/^\s*$/d' |sort |uniq >syslog_uniq.log

	at com.xxx.ds.bo.BO.setEntity(Unknown Source)	
	at com.xxx.ds.dao.DaoImpl.addTrail(Unknown Source)
	at java.lang.Thread.run(Thread.java:744)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.ArrayIndexOutOfBoundsException: 10
java.lang.ArrayIndexOutOfBoundsException: 5
java.lang.ArrayIndexOutOfBoundsException: 7
java.lang.NullPointerException

  

3.日志过滤

# cat syslog_uniq.log |grep -v "ArrayIndexOutOfBoundsException:" >syslog_grep-v.log

	at com.xxx.ds.bo.BO.setEntity(Unknown Source)	
	at com.xxx.ds.dao.DaoImpl.addTrail(Unknown Source)
	at java.lang.Thread.run(Thread.java:744)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
java.lang.NullPointerException

 

-v:表示不包含正则式中内容

-E:多个关键字 (grep -E "word1|word2|word3"   file.txt)

 

4.命令说明

 

4.1 uniq

用法:uniq [选项]... [文件]  

从输入文件或者标准输入中筛选相邻的匹配行并写入到输出文件或标准输出。不附加任何选项时匹配行将在首次出现处被合并。  

长选项必须使用的参数对于短选项时也是必需使用的。

 

-c, --count             //在每行前加上表示相应行目出现次数的前缀编号  
 -d, --repeated          //只输出重复的行  
 -D, --all-repeated      //只输出重复的行,不过有几行输出几行  
 -f, --skip-fields=N     //-f 忽略的段数,-f 1 忽略第一段  
 -i, --ignore-case       //不区分大小写  
 -s, --skip-chars=N      //根-f有点像,不过-s是忽略,后面多少个字符 -s 5就忽略后面5个字符  
 -u, --unique            //去除重复的后,全部显示出来,根mysql的distinct功能上有点像  
 -z, --zero-terminated   //end lines with 0 byte, not newline  
 -w, --check-chars=N     //对每行第N 个字符以后的内容不作对照  
 --help                  //显示此帮助信息并退出  
 --version               //显示版本信息并退出

  

 命令详解,参见:http://blog.51yip.com/shell/1022.html

 

 4.2过滤空行

 

grep、sed、awk与tr命令,都可以删除文件中空行。

 

4.2.1 grep

# grep . data.txt          //效率比较高

# grep -v '^$' data.txt

# grep '[^$]' data.txt

 

4.2.2 sed

# sed  '/^$/d' data.txt

# sed '/^\s*$/d' data.txt   //命令还可将完全空格、tab等组成的空行删掉。

 

4.2.3 awk

# awk NF data.txt   //命令还可以将空格、tab等组成的空行删掉。

# awk '!/^$/' data.txt

 

awk简明教程,参见:http://coolshell.cn/articles/9070.html

 

4.2.4 tr

tr -s '\n' < data.txt

 

 

 

分享到:
评论

相关推荐

    linux 查看日志常用命令

    ### Linux查看日志常用命令详解 #### 一、`cat`命令 `cat`命令是Linux中最常用的文本处理工具之一,具有多种用途,包括显示文件内容、从键盘创建文件以及合并多个文件等。 - **主要功能**: - **显示整个文件**: ...

    Linux系统中查看日志的常用命令

    # free -m # 查看内存使用量和交换区使用量 # df -h # 查看各分区使用情况 # du -sh &lt;目录名&gt; # 查看指定目录的大小 # grep MemTotal /proc/meminfo # 查看内存总量 # grep MemFree /proc/meminfo # 查看空闲内...

    车载常用linux命令+火车/高铁/公交车行业+车载linux系统测试常用命令,用于测试职位或运维技术支持职位

    本文将详细介绍车载Linux系统中常用的一些命令,这对于测试职位或运维技术支持人员来说至关重要。 1. `ls` 和 `ls -l`: `ls` 命令用于列出目录中的文件和子目录,而`ls -l`则提供更详细的信息,包括文件权限、所有...

    Linux 60个常用命令集合

    45. **alias**:创建命令别名,简化常用命令。 46. **env**:显示环境变量。 47. **source**:重新加载bash配置文件,如 `. ~/.bashrc`。 48. **history -c**:清空历史命令记录。 49. **clear**:清空终端屏幕...

    linux部署基本常用命令

    linux基本操作命令,包含,进程、日志查看、文件操作、权限、解压缩、文本操作、磁盘、防火墙、自定义命令、查找文件

    Linux下db2常用命令总结

    本文将深入探讨Linux下DB2的常用命令,帮助开发者更好地理解和操作DB2数据库。 1. **安装与启动DB2** - `sudo rpm -ivh db2_v11.5_linux_x86_64.rpm`:在Linux上安装DB2的RPM包。 - `db2start`:启动DB2实例。 -...

    Linux常用命令文档和命令大全

    本压缩包文件"Linux常用命令文档和命令大全"包含了两份宝贵的资源,分别是"Linux命令大全(修改版).chm"和"Linux学习笔记.doc",它们都是深入理解和熟练掌握Linux操作系统的宝贵资料。 "Linux命令大全(修改版).chm...

    linux常用命令大全.pdf

    ### Linux常用命令大全 #### 一、文件管理 1. **查看目录与文件** - **ls**: 用于列出当前目录下的文件和子目录。常用选项包括: - `-l`: 以长格式显示文件详细信息,如权限、所有者、大小等。 - `-a`: 显示...

    linuxOS6.5安装及常用命令.docx

    Linux OS 6.5 安装及常用命令 Linux OS 6.5 是一种流行的开源操作系统,它提供了强大且灵活的功能,可以应用于各种场景。本文档将指导用户安装 Linux OS 6.5 并介绍常用的命令,使用户能够快速上手使用 Linux OS ...

    Linux常用命令大全

    本资料“Linux常用命令大全”详细汇总了Linux环境中最常用的命令,旨在为用户提供全面的学习参考。 1. 文件和目录管理: - `ls`:列出目录内容,可以使用 `-l` 显示详细信息,`-a` 显示所有文件,包括隐藏文件。 ...

    Linux常用命令-API手册.zip

    本压缩包"Linux常用命令-API手册.zip"包含了两个重要的参考资料:"Linux基础命令教程豪华版.chm"和"Linux常用命令大全.chm",它们为用户提供详尽的Linux命令学习指南。 "Linux基础命令教程豪华版.chm"可能是对Linux...

    linux常用命令大全

    在深入探讨Linux常用命令之前,我们首先应当理解Linux操作系统的核心理念与优势,它是一个免费、开源的操作系统,因其稳定性和安全性而广泛应用于服务器领域。掌握Linux命令行是每一位IT专业人士的必备技能,以下是...

    Linux最常用命令.pdf

    常见的系统目录如“/root”是系统管理员的主目录,“/bin”存放常用的命令,“/etc”存放系统配置文件,“/home”为用户主目录,“/var”存储日志和系统运行时的数据,“/opt”用于安装额外软件,“/dev”包含系统...

    Linux常用命令使用方法大全

    在Linux操作系统中,掌握常用命令是进行日常操作和系统管理的基础。本篇文章将详细介绍标题"Linux常用命令使用方法大全"中涉及的一些核心命令,包括用户管理、文件操作、权限控制、别名设置等。 首先,用户管理是...

    linux教程 linux常用命令大全

    本文将深入探讨“Linux教程”中的“常用命令大全”,旨在帮助初学者和有经验的用户巩固和扩展他们的Linux技能。 一、Linux基本操作 Linux的基本操作主要通过命令行界面(CLI)进行,这与Windows和Mac OS等图形用户...

    Linux必学的60个命令 LINUX常用命令和系统管理

    以下是关于"Linux必学的60个命令"及"Linux常用命令和系统管理"的一些核心知识点: 1. **文件目录基本操作**: - `cd`:改变当前工作目录。 - `ls`:列出目录内容。 - `mkdir`:创建新目录。 - `rm`:删除文件或...

    linux 常用命令集锦

    了解并熟练掌握Linux的常用命令是每个IT从业者的基本技能。下面将详细介绍Linux的一些核心概念和常见命令。 首先,Linux将所有设备和资源视为文件,包括硬件设备、系统资源等。文件主要分为两种类型:字符型和二...

    linux常用命令学习日志

    Linux 命令学习日志 Linux 命令是 Linux 操作系统中的一系列命令,用于管理和维护系统。这些命令可以在 Shell 中执行,以实现各种操作,如文件管理、进程管理、网络管理等。下面是 Linux 命令学习日志中的重要知识...

Global site tag (gtag.js) - Google Analytics