免费注册 查看新帖 |

Chinaunix

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

高手指点:脚本如何实现 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-04-03 15:25 |只看该作者 |倒序浏览
想从一个文件里面取符合某个条件的行的下N行?

论坛徽章:
0
2 [报告]
发表于 2007-04-03 15:29 |只看该作者
例子

awk -F . '{print $1"."$2"."$3"."NR}' hosts |head -n 2

条件由awk决定

论坛徽章:
0
3 [报告]
发表于 2007-04-03 17:00 |只看该作者
BEGIN_TIME 24
0 10452 17366 246096489 5793 5796 60042223
1 6908 10547 179502928 4436 4444 61178288
2 5846 7543 172352789 3003 3007 44661369
3 3863 4917 141303991 3181 3187 49142743
4 3073 3685 109977393 3194 3199 63957660
5 2356 2994 79613401 3167 3170 69726201
6 3249 4236 104954412 3303 3305 57055387

上段代码是一个文件中的一部分,我要查看的内容就是类似如下
0 10452 17366 246096489 5793 5796 60042223
1 6908 10547 179502928 4436 4444 61178288
2 5846 7543 172352789 3003 3007 44661369
3 3863 4917 141303991 3181 3187 49142743
4 3073 3685 109977393 3194 3199 63957660
5 2356 2994 79613401 3167 3170 69726201
6 3249 4236 104954412 3303 3305 57055387
但这个的行号和内容都不确定,但这些内容的上一行都有BEGIN_TIME 24
如何写脚本能实现呀?

论坛徽章:
0
4 [报告]
发表于 2007-04-03 17:06 |只看该作者
我有点没搞清楚你说的咚咚

文本内容是不是
BEGIN_TIME 24
0 10452 17366 246096489 5793 5796 60042223
1 6908 10547 179502928 4436 4444 61178288
2 5846 7543 172352789 3003 3007 44661369

BEGIN_TIME 24
0 10452 17366 246096489 5793 5796 60042223
1 6908 10547 179502928 4436 4444 61178288
2 5846 7543 172352789 3003 3007 44661369

BEGIN_TIME 24
0 10452 17366 246096489 5793 5796 60042223
1 6908 10547 179502928 4436 4444 61178288
2 5846 7543 172352789 3003 3007 44661369

这样子的?

你是想取出不包含 BEGIN_TIME 24 的行中的,前 N 行呢?还是啥原因。有点没弄清楚

论坛徽章:
0
5 [报告]
发表于 2007-04-03 17:20 |只看该作者
……
BEGIN_TIME 24
0 10452 17366 246096489 5793 5796 60042223
1 6908 10547 179502928 4436 4444 61178288
2 5846 7543 172352789 3003 3007 44661369
3 3863 4917 141303991 3181 3187 49142743
4 3073 3685 109977393 3194 3199 63957660
5 2356 2994 79613401 3167 3170 69726201
6 3249 4236 104954412 3303 3305 57055387
……

上面文件中的一部分内容,我就是想显示BEGIN_TIME 24下面几行的内容,BEGIN_TIME 24不显示。(这个文件的行数不确定)。不知道有没有说清楚

论坛徽章:
0
6 [报告]
发表于 2007-04-03 17:48 |只看该作者
ROW=`grep -n "BEGIN_TIME 24" stat|awk -F: '{print $1}'`

awk 'NR>"'$ROW'" {print $0}' stat|head -n 2

呵呵,不晓得满足你的要求没有?
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP