问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux下如何提取日志中指定的一段内容?100分急求!!!

发布网友 发布时间:2022-04-30 15:03

我来回答

5个回答

热心网友 时间:2022-06-25 21:47

其实要说回答很简单,但是要给你做出来稍微费工夫,因为没有环境可以测试,你可以写一段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)追问我想用sed,但是现在提取出来很多以sip/2.0开始,并以]结束的日志段,由于有很多用户,就有很多段日志,怎么只提取我需要的用户的日志段呢?日志段中间有一个字符串是用户的号码。

追答你能理解我在回答中的shell代码吧?
如果能的话就好办,其中chkEnd是一个自定义的shell函数,让这个值返回三个结果就可以了,0:不是结束,1:是结束语句,但不是想要的用户 2:是结束语句并且是想要的用户
程序做以下修改
1, 变量开始[sip/2.0]为真时( if [ $flg -eq 1 ]; then )
输出当前行到临时文件中( echo $line >> $tempFile )
2. 如果是用户结束,(其他的跟原来一样)
如果是想要的用户
将临时文件内容输出到结果文件
// 如果是想要的用户
清空临时文件

热心网友 时间:2022-06-25 21:48

很简单,使用 grep -A 3 SIP 文件名
-A 3表示关键词所在行以下三行的内容

热心网友 时间:2022-06-25 21:48

给你个思路,
tail -f 日志文件名|sed '/起始字段/,/结束字段/p' | grep -C 3 "用户号码"

djy@game-rd10:~> sed -n '/SIP/,/]/{p}' filename|grep -C 3 "1234"
[SIP/2.0
xx.ccc.kkkk.eeeee
1234
sss.werwer.sfdsfd.12323
sdf.sf
234423.sdf.234
我的测试结果,3表示号码在内的上下3行,你根据你自己需要修改

热心网友 时间:2022-06-25 21:49

很简单,压缩文件解压后:
egrep -o [0-9]+ 日志文件

热心网友 时间:2022-06-25 21:49

你可以使用vim两个快捷键非常方便:
1.cp一份日志到随便一个目录(保留原文件)
2.使用vim或者vi打开复制的文件,把光标移动到你想要的内容的第一行,按两下g,也就是gg,这样以上的内容就删除了
3.把光标移动到你想要的内容的最后一样按两下G,注意是大写的,这样下面不想要的内容就删除了
4.最后保存就OK了
应该还有比这个方法更快的,但是你应急就先用这个吧追问大哥··忘了说了,我是需要用命令提取而不是手工去查找啊!
还有补充一下,实际情况是这样的,linux主机上有一个log,记录了很多用户的通话,日志是不断刷新的,我需要用tail -f结合其他命令,在新出来的日志中过滤出我需要的这段内容,再保存到相应的文件中!

追答这段内容是一行还是多行呢? 如果是一行就好办了,用for循环写个小脚本,cat grep就行,如果是多行的话,我得搜搜grep*。。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
可以用电高压锅做蛋糕吗 蛋糕机选哪家实惠? 京东闪付开通后无法添加到applepay怎么办 二年级数学说课稿范文 苹果手机电充到80就不充了怎么回事 上有八,下有八中间有个十字花打一字 ...排名22000.能否上到广工的机械制造和自动化(卓越工程师班)_百度知 ... 把内存由DDR2升级到DDR3,是不是要设置什么东东啊。 怎样吧DDR2的内存条改成DDR3 ...的内存条是DDR2的,我想换DDR3的可以吗?该怎么换?还有该注意什么... word出现错误报告打不开怎么办? 大家谁知道如何获得所有打开的浏览器所打开的网址? 欲钱看寻花问柳的生肖 怎么关闭滴水贷 如何使用电脑的网络拨号 为什么宝贝从电脑导入手机图片是模糊的 小米摄像头换网络后之前网络连接设备还能看吗? 这是显示器的问题吗?把截图传到手机上是清晰的,电脑屏幕却是模糊的。 用过的朋友说说小熊热水壶好不好 创银红股通股票软件开发公司的软件指标 郑州领地天屿怎么样?好不好?值不值得买? 哪个牌子的手写绘图板好用?质量好 乌鲁木齐富力城好还是领地天屿好 森系插画师有哪些急 佳能sx730为什么相片传输到手机或电脑后会变模糊(开了原图) 怎么做猫衣服 2019年10月25日盐关钱塘江潮水几点到? 保龄曼插画师的作品具备哪些风格 最近在考虑婚房,领地集团的天屿楼盘怎么样呢? 电脑黑屏,怎么让电脑正常关机? 在DOS下几个常用的命令,并说一下是什么意思 grep如何查询某个时间段的日志信息,比如早上0点到9点整 如何用笔记本电脑拨号上网? 柔记的智能手写板可以提高开会记录效率吗? 请问,今年农历八月十六的钱塘江大潮几点钟开始,最佳观潮点在哪里? 萧山钱塘江潮水最佳观测时间是什么时候? 朋友介绍投资点时,把资金汇到李运霞名下,年收易率20%。问靠谱吗? 上海点时公司李运霞的合同有效吗 电脑黑屏,怎么正常关机? 上海时克投资管理有限公司怎么样? 开机桌面黑屏只有鼠标怎么关机 领地·天屿周边环境怎么样?生活便利吗? 领地天屿怎么样?好不好?值不值得买? 绵阳领地兰台府和领地天屿是啥子物业公司啊? 领地天屿交通方便吗?应该怎么过去? 汕尾领地天屿怎么样?好不好?值不值得买? 电脑屏保的图片怎么删 新亚洲风格是什么风格啊?我看到宜昌领地天屿说的新亚洲风格设计很好奇,感觉很高端。 上周末带娃儿在雅安领地天屿售楼部参加活动,看到他们现在还在卖商铺,不晓得怎么样 关于领地集团,具体的实力咋样,是否可以买眉山的领地花屿?