免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3339 | 回复: 9

[文本处理] awk取范围行指定列中小于某值的结果 [复制链接]

论坛徽章:
1
巨蟹座
日期:2013-10-12 09:53:21
发表于 2014-08-27 17:48 |显示全部楼层
5可用积分
本帖最后由 taosicai 于 2014-08-27 17:58 编辑

BUFFERPOOL_NAME    DATA_HIT_PERCENT INDEX_HIT_PERCENT TOTAL_HIT_PERCENT
------------------ ---------------- ----------------- -----------------
IBMDEFAULTBP                      -                 -                 -
adfadfs                          23                33                96
……此处省略n行
IBMDEFAULTmp                     11                22                66
  1 record(s) selected.
上述结果,我要取第3行至倒数第2行中,第4列值小于95的结果
另外,如果第4列不等于某字符串,怎么写?

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
发表于 2014-08-27 17:48 |显示全部楼层
本帖最后由 yestreenstars 于 2014-08-28 09:31 编辑
  1. awk '{a[NR]=$4}END{for(i=3;i<NR;i++)if(a[i]~/^[0-9]+$/&&a[i]<95)print a[i]}'
复制代码

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
发表于 2014-08-27 17:56 |显示全部楼层
结果是指第四列还是整行?

论坛徽章:
1
巨蟹座
日期:2013-10-12 09:53:21
发表于 2014-08-27 17:56 |显示全部楼层
最好第四列

论坛徽章:
1
巨蟹座
日期:2013-10-12 09:53:21
发表于 2014-08-27 18:03 |显示全部楼层
回复 4# yestreenstars


    谢谢您,看明白了。

论坛徽章:
14
15-16赛季CBA联赛之辽宁
日期:2019-06-16 15:47:3515-16赛季CBA联赛之广夏
日期:2016-08-13 21:24:352015亚冠之武里南联
日期:2015-07-07 17:37:372015亚冠之萨济拖拉机
日期:2015-07-06 17:07:482015亚冠之全北现代
日期:2015-06-04 13:54:272015亚冠之城南
日期:2015-05-21 15:43:212015年亚洲杯之伊朗
日期:2015-04-25 18:20:362015年亚洲杯之伊朗
日期:2015-04-20 16:06:052015年亚洲杯之科威特
日期:2015-03-07 12:51:26丑牛
日期:2014-12-30 10:26:38申猴
日期:2014-09-28 22:40:18金牛座
日期:2014-09-13 21:12:22
发表于 2014-08-27 21:02 |显示全部楼层
  1. <?php

  2. $arr = file('a.txt');
  3. $sum = count($arr);
  4. for ($i=3; $i < $sum-1; $i++) {
  5.   $line=preg_replace('/[ ]+/',' ',$arr[$i]);
  6.   $row=explode(' ', $line);
  7.   if($row[3]<95){
  8.       echo $row[3];
  9.    }
  10. }


  11. ?>
复制代码

论坛徽章:
1
巨蟹座
日期:2013-10-12 09:53:21
发表于 2014-08-28 08:37 |显示全部楼层
reb00t 发表于 2014-08-27 21:02

谢谢亲,我要在脚本中使用,不要编程方式。

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
发表于 2014-08-28 08:52 |显示全部楼层
回复 7# taosicai

他只是在练习拍黄片,不用理他~{:2_172:}
   

论坛徽章:
1
巨蟹座
日期:2013-10-12 09:53:21
发表于 2014-08-28 09:22 |显示全部楼层
yestreenstars 发表于 2014-08-27 17:48

老大,奇怪了,为什么“96”这个值也输出了,验证今天电脑“晕”车了:wink:

论坛徽章:
32
处女座
日期:2013-11-20 23:41:20双子座
日期:2014-06-11 17:20:43戌狗
日期:2014-06-16 11:05:00处女座
日期:2014-07-22 17:30:47狮子座
日期:2014-07-28 15:38:17金牛座
日期:2014-08-05 16:34:01亥猪
日期:2014-08-18 13:34:25白羊座
日期:2014-09-02 15:03:55金牛座
日期:2014-11-10 10:23:58处女座
日期:2014-12-02 09:17:52程序设计版块每日发帖之星
日期:2015-06-16 22:20:002015亚冠之塔什干火车头
日期:2015-06-20 23:28:22
发表于 2014-08-28 09:31 |显示全部楼层
回复 9# taosicai

不好意思,写错了,已改,请看2楼。
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

DTCC2020中国数据库技术大会

【架构革新 高效可控】2020年12月21日-23日第十一届中国数据库技术大会将在北京隆重召开。

大会设置2大主会场,20+技术专场,将邀请超百位行业专家,重点围绕数据架构、AI与大数据、传统企业数据库实践和国产开源数据库等内容展开分享和探讨,为广大数据领域从业人士提供一场年度盛会和交流平台。

http://dtcc.it168.com


大会官网>>
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP