“Sed技巧按日期提取日志”的版本间的差异
跳到导航
跳到搜索
小 (Evan移动页面按日期提取日志至Sed技巧按日期提取日志,不留重定向) |
|||
第18行: | 第18行: | ||
#打印 如果内容多 那就重定向到文件 吧 | #打印 如果内容多 那就重定向到文件 吧 | ||
− | sed -n 'n1,n2p' log | + | sed -n 'n1,n2p' log > yuowant.log |
</pre>1 | </pre>1 | ||
2022年7月22日 (五) 02:28的版本
按日期提取日志
如何拿出 9点到 10点的日志 日志格式如下 2018-08-02 10:44:26,110 WARN [catalina-exec-4] (JSONObject.java:431) - Tried to assign property shopStatus:java.lang.String to bean of class com.xtwl.code.dispatch.orderDispatch.bean.rsp.OrderDispatchListRspBean 2018-08-02 10:44:26,110 WARN [catalina-exec-4] (JSONObject.java:431) - Tried to assign property shopStatus:java.lang.String to bean of class com.xtwl.code.dispatch.orderDispatch.bean.rsp.OrderDispatchListRspBean 2018-08-02 10:44:26,111 WARN [catalina-exec-4] (JSONObject.java:431) - Tried to assign property shopStatus:java.lang.String to bean of class com.xtwl.code.dispatch.orderDispatch.bean.rsp.OrderDispatchListRspBean 当然 中间可能还有些行是不规则的呢 #找到开始行 n1 cat -n log | grep '2018-08-02 09:00:*' |head -n 2 #找到结束行 n2 cat -n log | grep '2018-08-02 11:00:*' |head -n 2 #这里记得 -1 #打印 如果内容多 那就重定向到文件 吧 sed -n 'n1,n2p' log > yuowant.log
1
参考知识
在access.log中截取 16/Aug/2010:14:31:30到17/Aug/2010:10:12:07间的日志信息,并输出到log.txt中,我的思路,用sed打印16/Aug/2010:14:31:30和17/Aug/2010:10:12:07间的日志并> n1=`grep -n '16\/Aug\/2010:14:31:30' access.log|head -1|cut -d ':' -f1` n2=`grep -n '17\/Aug\/2010:10:12:07' access.log|tail -1|cut -d ':' -f 1` sed -n "${n1},${n2}p" access.log >log.txt 使用p(rint)显示行: sed -n '2p' temp.txt 只显示第2行,使用选项n 打印范围: sed -n '1,3p' temp.txt 打印第1行到第3行