免费注册 查看新帖 |

Chinaunix

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

[文本处理] 问2个比较难的文本处理脚本 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-08-13 14:47 |只看该作者 |倒序浏览
本帖最后由 ABAP/4 于 2014-08-13 14:50 编辑

1 删除第10个字段小于90所在的行,例如这一行的最后一个字段是83,小于90,那么着一行就进行删除

sd86   1004.7  566.9 8066.8 5631.5  0.0  3.7    2.3   0  95
sd87    936.9  265.3 7501.7 2786.9  0.0  3.3    2.8   0  95
sd88   1008.8  211.7 8079.6 2213.8  0.0  3.6    3.0   0  96
sd89      0.0   27.7    0.0 6370.8  0.0  0.0    1.1   0  83
sd90    972.0  268.5 7790.7 2623.1  0.0  3.6    2.9   0  96
sd91    961.8  192.2 7704.0 1743.4  0.0  3.5    3.1   0  95
sd92    964.0  282.7 7718.4 2815.8  0.0  3.4    2.7   0  94


2 删除第2,第3,第4个字段都是0.0所在的行

sd135     0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0
sd136     0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0
sd137     0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0
sd138     0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0
sd139     0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0
sd140     0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0
sd141     0.0    0.0    0.0    0.0  0.0  0.0    0.0   0   0

论坛徽章:
7
亥猪
日期:2013-10-10 17:00:29辰龙
日期:2013-10-12 16:23:19卯兔
日期:2013-11-18 17:01:27金牛座
日期:2014-09-09 10:17:052015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之柏太阳神
日期:2015-09-25 13:56:42数据库技术版块每日发帖之星
日期:2016-08-06 06:20:00
2 [报告]
发表于 2014-08-13 15:00 |只看该作者
1.
  1. awk '$10>90' file
复制代码
2.
  1. awk '{t=$2$3$4}! (t=0.00.00.0)' file
复制代码

论坛徽章:
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-08-13 15:05 |只看该作者
本帖最后由 Buring__ 于 2014-08-13 15:34 编辑
  1. awk '$10>90' a

  2. awk '$2$3$4 !~ /0\.00\.00\.0/' b
复制代码

论坛徽章:
0
4 [报告]
发表于 2014-08-13 15:42 |只看该作者
li0924 发表于 2014-08-13 15:00
1.2.


第一个写的有点问题吧,小于90的就不要。

论坛徽章:
7
亥猪
日期:2013-10-10 17:00:29辰龙
日期:2013-10-12 16:23:19卯兔
日期:2013-11-18 17:01:27金牛座
日期:2014-09-09 10:17:052015七夕节徽章
日期:2015-08-21 11:06:172015亚冠之柏太阳神
日期:2015-09-25 13:56:42数据库技术版块每日发帖之星
日期:2016-08-06 06:20:00
5 [报告]
发表于 2014-08-13 15:49 |只看该作者
回复 4# ABAP/4
你是想说90的也要?
  1. awk '$10>=90' file
复制代码

论坛徽章:
0
6 [报告]
发表于 2014-08-13 15:50 |只看该作者
li0924 发表于 2014-08-13 15:00
1.2.


cat test.txt
sd122   949.6  282.3 7607.7 2836.6  0.0  2.2    1.8   0  87
sd123     0.0   26.5    0.0 6166.1  0.0  0.0    1.2   0   3
sd124  1005.9  265.1 8055.6 2758.8  0.0  2.6    2.0   0  90
[root@rac1 record]# cat test.txt | awk '$10>90'



没有能够把SD123选出来,这个的第10列是3,小于90

论坛徽章:
0
7 [报告]
发表于 2014-08-13 15:51 |只看该作者
li0924 发表于 2014-08-13 15:49
回复 4# ABAP/4
你是想说90的也要?



非常感谢,我的意思是,只要是小于90的都不要。但是这个脚本无法实现这个功能

论坛徽章:
0
8 [报告]
发表于 2014-08-13 15:53 |只看该作者
[quote]ABAP/4 发表于 2014-08-13 15:51
非常感谢,我的意思是,只显示最后一列大于90的行

论坛徽章:
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
9 [报告]
发表于 2014-08-13 15:56 |只看该作者
木有难度

论坛徽章:
5
未羊
日期:2014-08-04 16:15:21天秤座
日期:2014-08-13 13:52:372015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:112015亚冠之浦和红钻
日期:2015-06-29 15:30:48
10 [报告]
发表于 2014-08-13 17:05 |只看该作者
  1. sed -r '/ [0-8][0-9]+$| [0-9]$/d'

  2. sed -r '/^[^ ]+[ ]+0\.0[ ]+0\.0[ ]+0\.0/d'
复制代码
如果这样符合你的要求,把-r改成-ri就可以了
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP