1. # 查询关键词前后20行
    2. cat cloud-storage-error.log | grep -n -C20 'exception'
    3. grep -n '2020-09-23' cloud-storage-error.log|grep 'session ip change too many'
    4. # n:行号
    5. vim cloud-storage-error.log +n
    6. # 检索日志,并显示该条日志的前后N(10)行记录:
    7. cat 日志文件 | grep -n -B10 -A10 "关键字"
    8. # 查询日志某关键字前后十行
    9. grep -C 10 'Exception' xxx.log xxx为日志文件名称
    10. #上面10行:
    11. grep -B 10 'Exception' xxx.log
    12. #下面10行:
    13. grep -A 10 'Exception' xxx.log
    14. # 查看某段时间内的关键字日志:sed -n '/起始时间/,/结束时间/p' 日志文件| grep ‘keyword’
    15. sed -n '/2020-09-28 11:00:00/,/2020-09-28 14:03:00/p' cloud-storage-rest-debug.log | grep 'downloadAsWord'
    16. # 使用more和less命令, 如:
    17. cat -n test.log |grep "地形" |more
    18. 这样就分页打印了,通过点击空格键翻页

    1、单个字符串进行查找:
    1、查找当前目录文件名中的字符串: grep 字符串 文件名
    2、查找某个文件中字符串,并输出行号:grep -n 字符串 文件名
    3、查找当前目录(包含子目录)的字符串:grep -r 字符串
    4、查找当前目录(包含子目录)的字符串,并输出行号:grep -rn 字符串

    * :通配符,表示当前目录所有文件,也可以按照某种模式进行匹配,例如:
    grep 字符串 *.txt 匹配所有文件后缀名为txt的字符串
    -r :递归查找
    -n :显示行号
    -R :查找所有文件包含子目录
    -i :忽略大小写
    2、同时满足多个字符串查找:
    grep 字符串1 文件名| grep 字符串2|grep 字符串3|grep …
    3、满足多个关键字之一
    grep -E “字符串1|字符串2|字符串3|” 文件名 或者
    egrep “字符串1|字符串2|字符串3|” 文件名

    tail -n 10 日志文件 查询日志尾部最后10行的日志;
    tail -n +10 日志文件 查询10行之后的所有日志;
    head -n 10 日志文件 查询日志文件中的头10行日志;
    head -n -10 日志文件 查询日志文件除了最后10行的其他所有日志;

    如果我们查找的日志很多,打印在屏幕上不方便查看, 有两个方法:
    (1) 使用more和less命令, 如: cat -n test.log |grep "地形" |more 这样就分页打印了,通过点击空格键翻页
    (2) 使用 >xxx.txt 将其保存到文件中,到时可以拉下这个文件分析.如:
    cat -n test.log |grep "地形" >xxx.txt