场景1:在当前目录下查找 a_test.log.2019-09-0开头的文件中查找包含ERROR的关键字的行,并显示最后10个所在的行。
find a_test.log.2019-09-0* | xargs grep ERROR| tail -n10
场景2:在a_test.log 同时搜索包含orderID、rmbMessage、liabilityCode这三个关键字所在的行(或关系)。
或:grep -E 'orderDetail|rmbMessage|liabilityCode' a_test.log
显示既匹配 orderID 又匹配 pattern2 的行。
与:grep orderID files | grep pattern2
更多参考:https://blog.csdn.net/u014378181/article/details/79850567
场景3:查询 test.log 第92行到102(92+20)行的日志
句子是这样写的:cat -n test.log |tail -n +92|head -n 20
tail -n +92表示查询92行之后的日志
head -n 20 则表示在前面的查询结果里再往后查前20行记录
更多参考:https://www.cnblogs.com/chjbbs/p/5761741.html
场景4:在日志里面搜索某个关键字
打开日志文件 less test.log
- 定位到日志文件的最后一行:shift+g移动到最后一行( G - 移动到最后一行)
- /字符串:向下搜索"字符串"的功能
- ?字符串:向上搜索"字符串"的功能
PS:less命令 https://www.runoob.com/linux/linux-comm-less.html
场景5:只是知道目录或者文件的名字,不知道在哪里
查找目录:find /(查找范围) -name ‘查找关键字’ -type d
查找文件:find /(查找范围) -name 查找关键字 -print
场景6:tail -f test.log 的时候,我只是想查看包含’error’所在的行。
tail -f test.log | grep error