zoukankan      html  css  js  c++  java
  • linux中日志文件查找,根据关键字,vi命令,awk和wc

    参考: http://www.cnblogs.com/ggjucheng/archive/2013/01/13/2856896.html

    当时需求:查看系统日志,统计系统的处理时间(从请求进去系统到系统返回)

    日志文件: 1.log

    开始处理:

    1. 将日志中的关键行(初始、结束、关键节点)打印出来/输出到文件(后添加:> 2.log):

      cat 1.log | grep key  //根据关键字输出

      cat 1.log | egrep '(start handle)+|(end handle)+'  //根据两个关键字  

    如果不能一次查找出来(线程数较多),可以先输出到文件,再重复根据线程名查找一次。

    grep最常用的分组,egrep可以使用更多的正则符号,fgrep可以认为就是不使用正则字符(应该可以这么理解,原文:正则表达式中的元字符表示回其自身的字面意义,不再特殊)。

    cat 1.log | grep key  可以写为: grep key 1.log   ,同理。

     awk和wc命令

    ps -ef | grep java | awk '{print $2}'  : 可以显示出所有Java进程的pid,

    awk中可以默认使用空白分隔符,可以使用awk -F,指定分隔符,其中$2就是分割后输出第二个字符串,

    ps -ef | grep java | awk '{print $2}' | wc -l  : 可以统计当前一共有多少Java进程

    wc中-c 统计字节数,-l 统计行数,-m 统计字符数,这个标志不能与 -c 标志一起使用,-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。

      -L 打印最长行的长度。

    VI中

    //以下删除命令好多都是剪贴,删除应该就是剪贴吧。。
    Ctrl+u:向文件首翻半屏;
    Ctrl+d:向文件尾翻半屏;
    Ctrl+f:向文件尾翻一屏;
    Ctrl+b:向文件首翻一屏;
    Esc:从编辑模式切换到命令模式;
    ZZ:命令模式下保存当前文件所做的修改后退出vi;
    :行号:光标跳转到指定行的行首;
    :$:光标跳转到最后一行的行首;
    x或X:删除一个字符,x删除光标后的,而X删除光标前的;
    D:删除从当前光标到光标所在行尾的全部字符;
    dd:删除光标行正行内容;
    ndd:删除当前行及其后n-1行;
    nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;
    p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;
    P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;
    /字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;
    ?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;
    a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,“s/”表示进行替换操作;
    a:在当前字符后添加文本;
    A:在行末添加文本;
    i:在当前字符前插入文本;
    I:在行首插入文本;
    o:在当前行后面插入一空行;
    O:在当前行前面插入一空行;
    :wq:在命令模式下,执行存盘退出操作;
    :w:在命令模式下,执行存盘操作;
    :w!:在命令模式下,执行强制存盘操作;
    :q:在命令模式下,执行退出vi操作;
    :q!:在命令模式下,执行强制退出vi操作;
    :e文件名:在命令模式下,打开并编辑指定名称的文件;
    :n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;
    :f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;
    :set number:在命令模式下,用于在最左端显示行号;
    :set nonumber:在命令模式下,用于在最左端不显示行号;
    1,3 co 4 将1-3行复制到4行之后
    set nu 显示行数
    nu 查看行数
    u 撤销
    U 撤销,撤销上一次撤销, 就是撤销/恢复重复
    gg 光标移动到第一行
    G 光标到最后一行
    1/2/3 任意数字,光标到指定数字行
    "zz"命令会把当前行置为屏幕正中央,"zt"命令会把当前行置于屏幕顶端,"zb"则把当前行置于屏幕底端.
    搜索: "?"命令与"/"的工作相同,只是搜索方向相反.n下一次出现的位置,"N"命令会重复前一次查找,但是与最初用"/"或"?"指定的搜索方向相反。
    如果查找内容忽略大小写,则用命令"set ignorecase", 返回精确匹配用命令"set noignorecase"
    用于转义特殊字符

  • 相关阅读:
    将 Shiro 作为应用的权限基础
    CMD命令名详细大全
    使用jquery模拟请求,测试项目是否存在跨域限制
    springboot 2.1.4 源码默认logback-spring.xml
    IDEA 代码风格设置
    springboot 实现配置文件给常量赋值
    IDEA Can't Update No tracked branch configured for branch master or the branch doesn't exist.
    @EnableFeignClients 注解
    springboot 定时任务
    SpringCloud 学习网址记录
  • 原文地址:https://www.cnblogs.com/moly/p/9186664.html
Copyright © 2011-2022 走看看