linux如何在日志中查找关键字,前几行,结尾几行

linux如何在日志中查找关键字,前几行,结尾几行,第1张

1、查看日志 前 n行:

cat 文件名 | head -n 数量

demo:

cat test.log | head -n 200# 查看test.log前200行

2、查看日志 尾 n行:

cat 文件名 | tail -n 数量

demo:

cat test.log | tail -n 200# 查看test.log倒数200行

3、根据 关键词 查看日志 并返回关键词所在行:

方法一:cat 路径/文件名 | grep 关键词

demo:

cat test.log | grep "http"# 返回test.log中包含http的所有行

方法二:grep -i 关键词 路径/文件名 (与方法一效果相同,不同写法而已)

demo:

grep -i "http" ./test.log# 返回test.log中包含http的所有行

其实要说回答很简单,但是要给你做出来稍微费工夫,因为没有环境可以测试,你可以写一段shell代码来提取,也可以用sed/awk/grep等命令来做,但是命令的复杂度不亚于写一段shell代码。shell代码我给你算法吧。(括号里是参考代码,bash)

初始化变量(flg=0)

循环读取每一行文件(while line in `cat $log`)

变量开始[sip/2.0]为真时( if [ $flg -eq 1 ]then )

输出当前行到结果文件中( echo $line >>$retFile )

如果是用户结束 ( chkEnd $line #chkEnd 是个shell函数检查是不是结束

if [ $? -eq 1 ]then)

变量变量开始[sip/2.0]设置为假 (flg=0)

#如果是用户结束(fi)

否则(else)

如果当前行含有[sip/2.0]( echo $line | grep "[sip/2.0"

if [ $? -eq 0 ]then)

输出当前行到结果文件中(echo $line >>$retFile)

变量变量开始[sip/2.0]设置为真(flg=1)

#如果当前行含有[sip/2.0](fi)

#变量开始[sip/2.0]为真时(fi)

1、首先我们准备一个要查找的文件,如下图所示。

2、接下来点击顶部的搜索菜单,然后选择查找选项,如下图所示。

3、然后在右上角的输入框中输入查找内容,就可以查找出匹配的的内容了。

4、另外我们还可以利用命令行查找,如下图所示,打开命令行。

5、输入grep命令,后面跟上要搜索的内容,然后加上文件名,如下图所示。

6、最后系统就会列举出匹配的内容项了,如下图所示。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/9015580.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-24
下一篇2023-04-24

发表评论

登录后才能评论

评论列表(0条)

    保存