免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: yinyuemi

[文本处理] awk1line 实现 sed1line [复制链接]

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
发表于 2011-05-15 03:53 |显示全部楼层
多谢各位支持

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
发表于 2011-05-15 12:09 |显示全部楼层
本帖最后由 ly5066113 于 2011-05-15 12:15 编辑

我来挑点刺

1、测试做的不充分,例如:
sed 's/foo/bar/g'            # replaces ALL instances in a line
awk 'gsub(/foo/,"bar")'
这个awk 和 sed 就是不等价的
所以文中 awk 'sub(xxx)' 的方法都是错的
要改为 awk '{sub(xxx);print}'

2、有些代码还可以简化,例如:
awk 'NR==10{print;exit}1' --> awk '1;NR==10{exit}'
awk 'NR==1{print;exit}'     --> awk '{print;exit}'

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
发表于 2011-05-15 13:07 |显示全部楼层
回复 12# ly5066113


    非常感谢Tim兄的指正!!(已改正)

论坛徽章:
23
15-16赛季CBA联赛之吉林
日期:2017-12-21 16:39:27白羊座
日期:2014-10-27 11:14:37申猴
日期:2014-10-23 08:36:23金牛座
日期:2014-09-30 08:26:49午马
日期:2014-09-29 09:40:16射手座
日期:2014-11-25 08:56:112015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:49:0315-16赛季CBA联赛之山东
日期:2017-12-21 16:39:1915-16赛季CBA联赛之广东
日期:2016-01-19 13:33:372015亚冠之山东鲁能
日期:2015-10-13 09:39:062015亚冠之西悉尼流浪者
日期:2015-09-21 08:27:57
发表于 2011-05-15 14:21 |显示全部楼层
回复 13# yinyuemi


还有就是我在另一个帖子里所说的

# print section of file between two regular expressions (inclusive)
-> sed -n '/Iowa/,/Montana/p'             # case sensitive
-> awk '/Iowa/,/Montana/'

SELECTIVE DELETION OF CERTAIN LINES:

# print all of file EXCEPT section between 2 regular expressions
-> sed '/Iowa/,/Montana/d'
-> awk 'Iowa/,Montana/{next}1'

这里面 awk 的写法与 sed 是不完全等价的。

论坛徽章:
2
射手座
日期:2014-10-10 15:59:4715-16赛季CBA联赛之上海
日期:2016-03-03 10:27:14
发表于 2011-05-15 14:49 |显示全部楼层
回复 14# ly5066113


    已经加入,作为补充,非常感谢!!

论坛徽章:
0
发表于 2011-09-16 14:00 |显示全部楼层
留名纪念。

论坛徽章:
0
发表于 2011-09-16 19:06 |显示全部楼层

论坛徽章:
0
发表于 2011-09-16 19:25 |显示全部楼层
只为留名

论坛徽章:
0
发表于 2012-04-29 16:54 |显示全部楼层
感谢分享!学习之!

论坛徽章:
3
水瓶座
日期:2014-03-25 17:08:042015亚冠之塔什干棉农
日期:2015-08-10 10:45:122015亚冠之萨济拖拉机
日期:2015-08-13 16:05:24
发表于 2012-05-01 23:36 |显示全部楼层
膜拜膜拜
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP