免费注册 查看新帖 |

Chinaunix

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

[文本处理] awk筛选符合条件的数 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-10-23 16:10 |只看该作者 |倒序浏览
本帖最后由 xunong 于 2014-10-23 16:31 编辑

文件有5列,第一列是ID,
ID  A  B  C  D
1   2  4   2  7
2   8  2   4  6
3   4  7   8  3
4   1  1   5  2
......

现在想将  同时满足A列<2
                        B列<6
                        C列<6
                        D列<4 的行删掉,如上第4行,其余行输出至新文件

该怎么办呢?求大神帮忙

论坛徽章:
3
天蝎座
日期:2013-12-10 19:37:11酉鸡
日期:2014-08-04 20:05:38双鱼座
日期:2014-08-09 21:53:54
2 [报告]
发表于 2014-10-23 16:22 |只看该作者
回复 1# xunong


    是不是这样?

  1. awk '{if($2<2 && $3<6 && $4<3 && $5<4)next}1' file.txt
复制代码

论坛徽章:
9
2015亚冠之大阪钢巴
日期:2015-06-04 11:47:30丑牛
日期:2015-01-22 15:49:26巳蛇
日期:2015-01-22 10:11:18巨蟹座
日期:2014-11-20 10:55:03天蝎座
日期:2014-11-16 22:10:26处女座
日期:2014-11-16 11:01:10申猴
日期:2014-09-19 11:12:37双鱼座
日期:2014-07-25 10:09:54程序设计版块每日发帖之星
日期:2015-08-24 06:20:00
3 [报告]
发表于 2014-10-23 16:29 |只看该作者
  1. awk '{if($2<2&&$3<6&&$4<3&&$5<4);else print >"c"}' urfile
复制代码
第四列是删不掉的,

论坛徽章:
0
4 [报告]
发表于 2014-10-23 16:33 |只看该作者
谢谢大家!刚第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
5 [报告]
发表于 2014-10-23 22:47 |只看该作者
  1. $ awk 'NR==1;NR>1&&!($2<2&&$3<6&&$4<6&&$7<4)' i
  2. ID  A  B  C  D
  3. 1   2  4   2  7
  4. 2   8  2   4  6
  5. 3   4  7   8  3
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP