免费注册 查看新帖 |

Chinaunix

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

[文本处理] 剔除文本中某字段为空白的行 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-07-29 12:03 |只看该作者 |倒序浏览
a.txt,剔除 b列或c列,如果是空白的字段,则剔除该行生成文件。把第二行和倒数第二行剔除掉
有什么办法吗
如果没列是|分割,这种怎么实现


a列        b列      c列        d列     e列
255  3355007  2527625     58173  47453
255                                 49153  58150
254  3330362  26.49901    29942  18702
254  3360801  26.92251    58124  14391
256  111.69123  29.03077  58134  62911
253  113.13589  27.72375  58127  13753
254  3362109  26.89875    58123  11522
259  111.72299  27.26470  58162  11631
254  3355389  26.91083    58124  21242
257  3333394  28.84884    58151  25491
256  111.89270  29.82020  58239  43912
257  3337318  28.85069    58151  25721
745  110.38786  28.46355  58177  31371
255                                   58173  47983
254  3318028  26.54454    29942  18681

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
2 [报告]
发表于 2013-07-29 12:24 |只看该作者
  1. awk 'NF==5' infile
复制代码

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
3 [报告]
发表于 2013-07-29 12:54 |只看该作者
本帖最后由 关阴月飞 于 2013-07-29 13:35 编辑

回复 1# faith900
  1. awk 'NF==5{print $1,$4,$5}'
复制代码
如果分隔符是|
  1. awk  -F\| 'NF==5{print $1,$4,$5}'
复制代码

论坛徽章:
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
4 [报告]
发表于 2013-07-29 13:07 |只看该作者
@rdcwayx
如果空白段不是b或c,而是其他就不行了。

论坛徽章:
0
5 [报告]
发表于 2013-07-29 13:14 |只看该作者
回复 3# 关阴月飞


    谢谢,但是执行貌似不行
以|分割的也不行

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
6 [报告]
发表于 2013-07-29 13:25 |只看该作者
回复 5# faith900


    关阴月飞的回复可能回的快了,你把 NR 替换成 NF 再试一下。

论坛徽章:
39
辰龙
日期:2013-08-21 15:45:192015亚冠之广州富力
日期:2015-05-12 16:34:52亥猪
日期:2015-03-03 17:22:00申猴
日期:2015-03-03 17:21:37未羊
日期:2014-10-10 13:45:41戌狗
日期:2014-06-17 09:53:29巨蟹座
日期:2014-06-12 23:17:17双鱼座
日期:2014-06-10 12:42:44寅虎
日期:2014-06-09 12:52:172015亚冠之卡尔希纳萨夫
日期:2015-05-24 15:24:35黄金圣斗士
日期:2015-12-02 17:25:0815-16赛季CBA联赛之吉林
日期:2017-06-24 16:43:52
7 [报告]
发表于 2013-07-29 13:36 |只看该作者
回复 6# rdcwayx


是的,低级错误。     

论坛徽章:
0
8 [报告]
发表于 2013-07-29 14:16 |只看该作者
谢谢各位,ok了

论坛徽章:
0
9 [报告]
发表于 2013-07-29 15:17 |只看该作者
本帖最后由 Linux_JinYuan 于 2013-07-29 15:18 编辑

理解了半天,终于看懂了
一直在纳闷,为什么要写 NF== 5 ,
NF表示一行有多少列,第二行和倒数第二行正好少了两列,不符合NF==5的条件,所以就过滤掉了。。

纠结了半天。。终于懂了

论坛徽章:
15
2015年辞旧岁徽章
日期:2015-03-03 16:54:15双鱼座
日期:2015-01-15 17:29:44午马
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉鸡
日期:2014-04-02 12:24:51双子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥猪
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
10 [报告]
发表于 2013-08-01 14:49 |只看该作者
回复 9# Linux_JinYuan


    弄懂就好。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP