`

linux使用sed命令截取tomcat某段时间内的catalina.out日志

 
阅读更多
有时间log太大,刷新太快,如果能定位到某段时间内,然后从服务器上拿下来就方便多了。一来减少传输,二来排查问题也会比较容易些。 测试于:Tomcat 6.0.37 | CentOS 5.7

操作步骤:

首先进入tomat的logs目录
[devnote@devnote ~]$ cd /opt/tomcat/logs/
从catalina.out中截取下午2~3点的日志到devnote用户的主目录中
[devnote@devnote logs]$ sed -n '/2014-06-04 14:00:/,/2014-06-04 15:00:/p' catalina.out > ~/catalina.out.20140604-14
里面的字符串 “2014-06-04 14:00:” 和 “2014-06-04 15:00:” 其实就是能标识你想截取区域开始和结束的字符串,这也是为什么这两个串中时间只精确到了分钟,如果精确到秒,如果日志中就没有出现过,当然就不能定位了。

转自:http://www.devnote.cn/article/207.html


需求:从日志信息中提取特定时间范围内的日志,并将其发送至远程主机上
分析:一般的需求只是以两个特定的时间点做要求,比如说12:00:00到13:00:00这两个准确时间点之间的日志信息,同时日志中肯定是存在这两个时间点的
本需求只是求个范围值,比如说12点到13点之间的日志信息,并不能确定日志中有这两个时间点,也就说有可能只是12:00:01这样的时间点

#!/bin/bash
#scp today's error.log and profler.log to the mailserver
#author:liangaoxin
#date:20101231
<!--more-->
#working directory
pwd=/u01/lgx/temp
#destination's IP
dst=192.168.33.41
#foemat the date
today=`date '+%Y-%m-%d'`

if [ -e app.log.${today} ]
then
        ###截取6点和8点之间的日志信息,通过来取得时间,如06:00:01,更详细的日志信息格式就不多写了,类似于apache一般的access_log,本脚本也只是个思路而已
      start=`cut -c12-19 app.log.{today}|grep -n "..:..:.."|awk -F: '$2<9 && $2>05 {print $1}'|head -n1`
        stop=`cut -c12-19 app.log.{today}|grep -n "..:..:.."|awk -F: '$2==9 {print $1}'|head -n1`
        sed -n "${start},${stop-1}p" app.log.${today} >app.log.${today}.send
        scp -p /u01/log/temp/app.log.${today}.send lgx@${dst}:/home/lgx/$(hostname)/
fi

要是指定特定时间段内日志信息的提取会简单的多,如下
sed -n '/15:32:30/,/16:12:09/p' access_log >log.txt

转自:http://www.aikaiyuan.com/4202.html

sed命令参考:
http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856901.html
分享到:
评论

相关推荐

    CentOS7按时间段截取指定的Tomcat日志到指定文件的方法

    以下是使用`sed`按时间段截取日志的基本命令格式: ```bash sed -n '/起始时间:/,/结束时间:/p' 输入文件 &gt; 输出文件 ``` 在这个命令中,`-n`选项表示不打印未匹配的行,`/起始时间:/`和`/结束时间:/`分别是正则...

    Linux shell 用sed命令在文本的行尾或行首添加字符

    Linux shell 用sed命令在文本的行尾或行首添加字符 sed 命令是 Linux shell 中的一个流编辑器,可以用来对文本进行各种处理操作,例如,添加、删除、替换文本中的字符。今天我们将讨论如何使用 sed 命令在文本的行...

    Linux下sed命令的用法

    Linux系统下的sed命令是一个流编辑器,它能够对文本文件或标准输入进行处理并输出。sed命令擅长于进行文本的快速查找、替换、删除等操作。本文将详细解读sed命令在Linux环境下的用法,包括其基本语法以及常见用例。 ...

    linux sed命令详解

    ### Linux Sed 命令详解 #### 概述 `sed`,全称为“stream editor”,是一种功能强大的文本处理工具,常用于Linux和类Unix系统中。它主要用于文本的过滤和转换工作,能够以流的形式读取并处理文本数据。在处理过程...

    LINUX_sed命令详解

    **Linux中的sed命令详解** `sed`(流编辑器,Stream Editor)是Linux系统中一个强大的文本处理工具,常用于处理文件或从输入流中过滤数据。它可以在不改变原文件的情况下,对文本进行查找、替换、删除等操作。下面...

    linux sed 命令详解

    Linux中的`sed`(Stream Editor)命令是一种强大的文本处理工具,它能对输入流(标准输入、文件或者管道)进行实时处理。`sed`的工作方式是读取一行文本,对其进行处理,然后输出,接着处理下一行,直到文件末尾。这...

    linux-Sed命令详解.zip

    Linux操作系统中的Sed(Stream Editor)命令是一个强大的文本处理工具,它可以在数据流中进行模式匹配、替换、删除、插入等操作,而无需对原始文件进行任何临时或永久性的修改。这个命令在系统维护、脚本编程以及...

    通过sed截取一行匹配内容

    可以使用sed -n 's/\(.*前置关键字符串\)\(匹配内容正规表达式\)\(后置关键字符串.*\)/\2/p'命令来截取匹配内容。 sed命令可以根据不同的匹配规则来截取所需的信息。通过使用sed命令可以实现复杂的文本处理任务。

    linux 系统 sed 命令使用方法

    ### Linux系统sed命令使用方法详解 #### 一、sed简介 `sed`是Stream Editor的缩写,在Linux系统中是一种非常强大的文本处理工具。它能够按照脚本指令读取输入文件(标准输入或文本文件),对其进行模式匹配、替换...

    linux sed命令详解.docx

    "Linux Sed 命令详解" sed 命令是 Linux 中的一种在线编辑器,它可以处理文本文件,并提供了许多功能强大的编辑功能。sed 命令一次处理一行内容,将当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern ...

    Linux-02sed.ppt

    什么是sed:主要介绍什么是sed工具,sed工具的主要操作、工作方式以及地址表示方法,在sed命令中使用正则表达式等。 sed命令的常用操作:主要介绍sed命令的注释方法,打印文本,替换文本,删除文本,追加文本,插入...

    linux命令中Sed各种使用方式

    Sed 命令中各种使用方式 Sed 命令是一种在线编辑器,它一次处理一行内容。Sed 主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等。 替换命令 Sed 的替换命令的语法是 `s[address]s/...

    快速理解linux流编辑器sed命令

    ### 快速理解 Linux 流编辑器 sed 命令 #### 一、sed 命令简介 `sed` 是 `stream editor` 的缩写,作为一种非交互式的流编辑器,它主要用于文本数据的过滤和转换。不同于 `vi` 或 `vim` 这类编辑器,`sed` 不会...

    linux下sed命令在windows上的移植版本工具sed.exe

    linux下的sed命令处理字符串很方便,这是一个在windows上可以使用的版本,下载之后就可以在windows上使用sed命令了。

    linux script 好用的sed命令

    sed命令可以与其他Linux命令结合使用,如管道`|`,重定向`&gt;`和`,形成强大的文本处理流水线。 总之,sed命令是Linux系统中不可或缺的文本处理工具,熟练掌握它可以提高工作效率,解决各种文本处理问题。通过学习和...

    LINUX 查找tomcat日志关键词命令

    本文将详细介绍如何在Linux环境中使用命令行工具快速定位Tomcat日志中的特定关键词。 首先,我们需要了解Linux中常用的日志文件。在Tomcat中,主要的日志文件有`catalina.out`,这是Tomcat的标准输出和错误输出,...

    linux shell命令sed的使用方法

    linux shell命令sed的使用方法

    Linux主要shell命令、sed、awk使用详解

    Linux 主要shell命令、sed、awk使用详解 Linux 主要shell命令详解 shell 是用户和 Linux 操作系统之间的接口。Linux 中有多种 shell,其中缺省使用的是 Bash。本章讲述了 shell 的工作原理,shell 的种类,shell ...

Global site tag (gtag.js) - Google Analytics