免费注册 查看新帖 |

Chinaunix

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

请教个awk的问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-01-25 23:43 |只看该作者 |倒序浏览
请教一下,假如文件格内容的格式为:

1 2 3 4 5 6
3 5 6 7 8 9
2 3 4 1 6 7
3 4 5 6 7 8

现在假如我要提取包括内容4的后一字段,就如

第一行:包含4,我要提取到5
第二行:不包含4,不提取
第三行:包含4,提取1
第四行:包含4,提取5

这种提取形式用awk要怎么写啊?

论坛徽章:
0
2 [报告]
发表于 2010-01-26 01:56 |只看该作者
光用awk不懂,grep、sed、awk全用上倒是能凑出来,对文件 abc.txt

grep 4 abc.txt | sed 's/^.*4//g' | awk '{print $1}'

论坛徽章:
0
3 [报告]
发表于 2010-01-26 08:26 |只看该作者
不知道你的具体要求,你看看这样可不可以:

  1. %awk 'BEGIN{RS = "4"}{if (NR > 1){print $1;}}' urfile
  2. 5
  3. 1
  4. 5

复制代码

论坛徽章:
0
4 [报告]
发表于 2010-01-26 11:17 |只看该作者
原帖由 零二年的夏天 于 2010-1-26 08:26 发表
不知道你的具体要求,你看看这样可不可以:

%awk 'BEGIN{RS = "4"}{if (NR > 1){print $1;}}' urfile
5
1
5



能不能解释一下啊,谢谢

还有,如果文件内容变成

2=hs 3=fn 5=cn 1=df
2=sd 4=sd 6=fd 8=kj
1=uy 4=sd 5=kj 9=oi
7=iw 1=mu 5=dj 3=iz


我要怎么提取出每行中1=和5=的记录?

论坛徽章:
33
荣誉会员
日期:2011-11-23 16:44:17天秤座
日期:2014-08-26 16:18:20天秤座
日期:2014-08-29 10:12:18丑牛
日期:2014-08-29 16:06:45丑牛
日期:2014-09-03 10:28:58射手座
日期:2014-09-03 16:01:17寅虎
日期:2014-09-11 14:24:21天蝎座
日期:2014-09-17 08:33:55IT运维版块每日发帖之星
日期:2016-04-17 06:23:27操作系统版块每日发帖之星
日期:2016-04-18 06:20:00IT运维版块每日发帖之星
日期:2016-04-24 06:20:0015-16赛季CBA联赛之天津
日期:2016-05-06 12:46:59
5 [报告]
发表于 2010-01-26 16:10 |只看该作者
这怎么看都象是考试题.

建议 不要帮忙.

论坛徽章:
0
6 [报告]
发表于 2010-01-26 16:44 |只看该作者
原帖由 yumanifold 于 2010-1-26 11:17 发表


能不能解释一下啊,谢谢

还有,如果文件内容变成

2=hs 3=fn 5=cn 1=df
2=sd 4=sd 6=fd 8=kj
1=uy 4=sd 5=kj 9=oi
7=iw 1=mu 5=dj 3=iz


我要怎么提取出每行中1=和5=的记录?


  1. awk 'gsub(/[^51]=[^ ]*/," "){print $1,$2}' file
复制代码


试试看~

论坛徽章:
0
7 [报告]
发表于 2010-01-27 00:06 |只看该作者
原帖由 q1208c 于 2010-1-26 16:10 发表
这怎么看都象是考试题.

建议 不要帮忙.



考试题????晕。。。。。看来你又打烂人家窗户了。。。。。

论坛徽章:
0
8 [报告]
发表于 2010-01-27 00:07 |只看该作者
原帖由 Celinde 于 2010-1-26 16:44 发表



awk 'gsub(/[^51]=[^ ]*/," "){print $1,$2}' file

试试看~



ths......有没有好一点的awk手册介绍介绍啊,我手上的这本没有这些语法。。。。。

论坛徽章:
381
CU十二周年纪念徽章
日期:2014-01-04 22:46:58CU大牛徽章
日期:2013-03-13 15:32:35CU大牛徽章
日期:2013-03-13 15:38:15CU大牛徽章
日期:2013-03-13 15:38:52CU大牛徽章
日期:2013-03-14 14:08:55CU大牛徽章
日期:2013-04-17 11:17:19CU大牛徽章
日期:2013-04-17 11:17:32CU大牛徽章
日期:2013-04-17 11:17:37CU大牛徽章
日期:2013-04-17 11:17:42CU大牛徽章
日期:2013-04-17 11:17:47CU大牛徽章
日期:2013-04-17 11:17:52CU大牛徽章
日期:2013-04-17 11:17:56
9 [报告]
发表于 2010-01-27 08:10 |只看该作者

回复 #8 yumanifold 的帖子

去shell版,置顶帖子里面有

论坛徽章:
0
10 [报告]
发表于 2010-01-27 10:57 |只看该作者
原帖由 chenyx 于 2010-1-27 08:10 发表
去shell版,置顶帖子里面有

ths
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP