免费注册 查看新帖 |

Chinaunix

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

[文本处理] awk 字符串处理问题 [复制链接]

论坛徽章:
1
双鱼座
日期:2014-08-25 19:13:11
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-11-18 10:01 |只看该作者 |倒序浏览
本帖最后由 fxpbupt 于 2013-11-18 11:00 编辑

有个文档一,格式如下
                                          channel    max_sig
                        * 5180 MHz [36] (17.0 dBm)
                        * 5200 MHz [40] (17.0 dBm)
                        * 5220 MHz [44] (17.0 dBm)
                        * 5240 MHz [48] (17.0 dBm)
                        * 5745 MHz [149] (30.0 dBm)
                        * 5765 MHz [153] (30.0 dBm)
                        * 5785 MHz [157] (30.0 dBm)
                        * 5805 MHz [161] (30.0 dBm)
                        * 5825 MHz [165] (30.0 dBm)
怎么提取出来channle 和max_sig两类?预期想得到的是

36   17.0
40   17.0
44   17.0
48   17.0
149   30.0
153   30.0
157   30.0
161   30.0
165   30.0

追加问一个问题:还有一个文档二,内容是这样的
channel signal
36   -19.0
40   -27.0
44   -33.0
48   -24.0
149   -35.0
40    -90.0  
153   -87.0
48   -84.0
157   -22.0

现在有两个需求,1,找出在文档一和文档二中同时出现过的channel,并且按照文档二signal排序,找到signal最小的channel,然后打印出这个channel和在文档一中对应的max_sig
例如:
40  17.0

需求2:找出在文档一中出现过,但是在文档一中没有出现的channel,然后打印出这个channel和对应的max_sig
例如:
161 30.0
165 30.0


新增需求有点复杂,请各位大仙相助,在线等

论坛徽章:
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
2 [报告]
发表于 2013-11-18 10:06 |只看该作者
回复 1# fxpbupt
  1. awk 'NR>1{gsub(/[[(]/,"");print +$4,$5}' urfile
复制代码

论坛徽章:
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
3 [报告]
发表于 2013-11-18 10:08 |只看该作者
本帖最后由 reb00t 于 2013-11-18 10:27 编辑

awk -F'[]|[|( ]' '{print $5,$8}' 1.txt  

36 17.0
40 17.0
44 17.0
48 17.0
149 30.0
153 30.0
157 30.0
161 30.0
165 30.0
  1. awk 'NR>1{gsub(/]|[[(]/,"");print $4,$5}' 1.txt
复制代码

论坛徽章:
0
4 [报告]
发表于 2013-11-18 10:19 |只看该作者
回复 2# 关阴月飞


    大神请教一下,+号 在这儿是什么意思啊。

论坛徽章:
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
5 [报告]
发表于 2013-11-18 10:20 |只看该作者
本帖最后由 reb00t 于 2013-11-18 10:21 编辑
  1. sed -rn 's/.*\[(.*)[^\]]\s*\((.*)\s.*/\1 \2/p' 1.txt  
  2. 3 17.0
  3. 4 17.0
  4. 4 17.0
  5. 4 17.0
  6. 14 30.0
  7. 15 30.0
  8. 15 30.0
  9. 16 30.0
  10. 16 30.0
复制代码
sed标签求大神简化

论坛徽章:
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
6 [报告]
发表于 2013-11-18 10:22 |只看该作者
回复 4# wang390750


    +$4  ==> 0+$4

论坛徽章:
33
ChinaUnix元老
日期:2015-02-02 08:55:39CU十四周年纪念徽章
日期:2019-08-20 08:30:3720周年集字徽章-周	
日期:2020-10-28 14:13:3020周年集字徽章-20	
日期:2020-10-28 14:04:3019周年集字徽章-CU
日期:2019-09-08 23:26:2519周年集字徽章-19
日期:2019-08-27 13:31:262016科比退役纪念章
日期:2022-04-24 14:33:24
7 [报告]
发表于 2013-11-18 10:31 |只看该作者
回复 5# reb00t
  1. sed -rn 's/.*\[(.*)\] \((.*) .*/\1 \2/p' urfile
复制代码

论坛徽章:
0
8 [报告]
发表于 2013-11-18 10:34 |只看该作者
回复 6# 关阴月飞


    恩,明白了。谢谢

论坛徽章:
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 [报告]
发表于 2013-11-18 10:42 |只看该作者
  1. [root@localhost ~]# awk -F '[]()[]' 'NR>1{split($4,a," ");print $2,a[1]}' i
  2. 36 17.0
  3. 40 17.0
  4. 44 17.0
  5. 48 17.0
  6. 149 30.0
  7. 153 30.0
  8. 157 30.0
  9. 161 30.0
  10. 165 30.0
  11. [root@localhost ~]#
复制代码

论坛徽章:
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
10 [报告]
发表于 2013-11-18 10:44 |只看该作者
回复 7# Shell_HAT

  够简化,我想复杂了。。
   
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP