免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12
最近访问板块 发新帖
楼主: cbnuisve
打印 上一主题 下一主题

[文本处理] 查找最后一个关键字以下几行。 [复制链接]

论坛徽章:
0
11 [报告]
发表于 2015-12-30 08:55 |只看该作者
本帖最后由 cbnuisve 于 2015-12-30 08:56 编辑

回复 10# ljwd1000

谢谢。测试了一下用以下可用
  1. $ awk '$1~/192.168.0.1$/{a=$0;s=0;next}{if(s++<3)a=a"\n"$0}END{print a}' 1
  2. 192.168.0.1 asdfsad51
  3. 192.168.0.5 a89e9r89
  4. 192.168.0.6 asdfgasoiert
  5. 192.168.0.100 asdf9wre

  6. BJIT002102+Administrator@BJIT002102 ~
  7. $ cat 1
  8. 192.168.0.1  asdfasd sadfsd
  9. 192.168.0.3 fdsgsiorlsf1032fdg
  10. 192.168.0.4 dfgsdfgkoor5855
  11. 192.168.0.1 fgiu8945rt3wwe
  12. 192.168.0.9  98q3409r5qwer
  13. 192.168.0.1 asdfsad51
  14. 192.168.0.5 a89e9r89
  15. 192.168.0.6 asdfgasoiert
  16. 192.168.0.100 asdf9wre
  17. 192.168.0.101 9q43258qklmtrkqwer
复制代码
但是在我正常的环境下还是有问题,我是用tshark 抓包然后读取但还是从第一行开始读取。  tshark -r ip.txt -x -V |grep -E "192.168.0.1|Time"| awk '$1~/192.168.0.1$/{a=$0;s=0;next}{if(s++<3)a=a"\n"$0}END{print a}'  

我的示例跟真实的可能有点差别。
  1. Source: 192.168.0.1(192.168.0.1)
  2.     Arrival Time: Dec 28, 2015 09:40:07.716923991 CST
  3.     [Time shift for this packet: 0.000000000 seconds]
  4.     Epoch Time: 1451266807.716923991 seconds
  5.     [Time delta from previous captured frame: 0.000266969 seconds]
  6.     [Time delta from previous displayed frame: 0.000266969 seconds]
  7.     [Time since reference or first frame: 59821.781043467 seconds]
  8.     Time to live: 126
  9.     Arrival Time: Dec 28, 2015 09:40:07.749227252 CST
  10.    。。。。。。
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP