免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 7782 | 回复: 5
打印 上一主题 下一主题

[文本处理] 有没有什么办法,在一个文件里面,先定位到某一行,然后取这一行的下面两行文本? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-09-22 14:42 |显示全部楼层 |倒序浏览
有没有办法,在一个文件里面先定位到某行,然后取这一行的下面两行的文本?

例如下面这段文本。我想先定位在 “ID:  113808924” 这一行, 然后取它下面的两行。
我是菜鸟。希望各位不吝赐教,谢谢

SEVERE: Error code:61 - Date parsing exception thrown at URL
ID:  113808924
AID:  1356475501
Posted:  null

Format:  MM dd yyyy
Sep 22, 2012 8:40:17 AM com.io.log.SystemLogger printSevere
SEVERE: Error code:61 - Date parsing exception thrown at URL
ID:  113808924
AID:  1367101375
Posted:  null
Format:  MM dd yyyy
Sep 22, 2012 8:40:17 AM com.io.log.SystemLogger printSevere
SEVERE: Error code:61 - Date parsing exception thrown at URL
ID:  113808924
AID:  1362779158
Posted:  null
Format:  MM dd yyyy
Sep 22, 2012 8:40:21 AM com.io.log.SystemLogger printSevere
SEVERE: Error code:61 - Date parsing exception thrown at URL
ID:  113808924
AID:  1325709142
Posted:  null
Format:  MM dd yyyy

论坛徽章:
0
2 [报告]
发表于 2012-09-22 15:02 |显示全部楼层
回复 2# 这个冬天不冷

谢谢“”

grep -n “”   

这个命令获取的是“行号 + 该行的文本”  我该怎样使用行号呢?

论坛徽章:
0
3 [报告]
发表于 2012-09-22 15:18 |显示全部楼层
回复 4# kk5234


是的,
其实是一个异常文件,我想处理这个异常文件把错误都提取处理

我是想循环读取这个文件,先定位到“ID:  113808924 ” 这类行,然后取出它下面的两行内容。

现在行是可以定位到,但是不知道怎么一下子把这行的下面两行一同取出来。

论坛徽章:
0
4 [报告]
发表于 2012-09-22 15:20 |显示全部楼层
回复 5# 这个冬天不冷


对的,

通过“| awk ‘{print $1}'” 这种方式取出行号,对的,谢谢啊!

论坛徽章:
0
5 [报告]
发表于 2012-09-22 15:23 |显示全部楼层
回复 4# kk5234


我是想这样弄,

把这些行放进文件里,

然后循环读取,当读到“ID:  113808924”  这样的行的时候,就把它下面的两行一并取出来。放到其他文件里面

接着继续循环,只要匹配到“ID:  113808924”  这样的行,就把它下面的两行取出来。

就是这样

论坛徽章:
0
6 [报告]
发表于 2012-09-22 15:30 |显示全部楼层
回复 8# kk5234


  非常好用,  跪谢,叩谢!

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP