免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
楼主: jixunuli
打印 上一主题 下一主题

再问 sed与awk两者相比较各自的优劣 [复制链接]

论坛徽章:
0
21 [报告]
发表于 2008-06-23 16:38 |只看该作者
原帖由 flw 于 2006-2-17 11:10 发表

对,waker 版主举的就是一个例子。
他那个问题用 sed 很容易解决,但是用 awk 就比较费劲。

其实这也就是我学习 Perl 的原因,
shell 下工具众多,功能也互相重复,
最头疼的是,这些重复部分的语法还各 ...

严重同意啊!!!

论坛徽章:
0
22 [报告]
发表于 2012-03-11 03:21 |只看该作者
sed的分域功能嘛?waker版主那个例子,我只实现了前面3部分的交换,-后面怎么办?
sed 's/\([a-z]*\)\([0-9]*\)\([a-z]*\)/\3\1\2/' sed.txt

论坛徽章:
1
辰龙
日期:2014-05-22 11:38:58
23 [报告]
发表于 2012-03-11 09:57 |只看该作者
  1. sed 's/^\([a-z]*\)\([0-9]*\)\([a-z]*\)-\(.*\)\([^0-9]\)\([0-9]*\)$/\3\1\2-\4\6\5/'
复制代码
  1. awk -vRS="[-\n]" 'NR%2{FS="[0-9]*";$0=$0;line=$2$0;sub(/[a-z]*$/,"",line);printf("%s-", line);next}!(NR%2){FS="[^0-9]*";$0=$0;line=$0;sub(/[0-9]*$/,"",line);lastch=substr(line,length(line));sub(/[^0-9]$/,"",line);print line$2lastch}'
复制代码
sed很方便,awk让我很纠结啊,不知道与没有更简单的

论坛徽章:
5
2015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亚洲杯之朝鲜
日期:2015-03-13 22:47:33IT运维版块每日发帖之星
日期:2016-01-09 06:20:00IT运维版块每周发帖之星
日期:2016-03-07 16:27:44
24 [报告]
发表于 2012-03-12 10:27 |只看该作者
回复 23# winway1988


    挖坟。

论坛徽章:
2
羊年新春福章
日期:2015-04-27 16:56:53射手座
日期:2015-04-27 16:58:18
25 [报告]
发表于 2012-11-01 19:34 |只看该作者
广告杀手!我发觉到哪里都可以看见你!回复 3# waker


   

论坛徽章:
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
26 [报告]
发表于 2012-11-02 09:04 |只看该作者
winway1988 发表于 2012-03-11 11:57
sed很方便,awk让我很纠结啊,不知道与没有更简单的

新版本的gawk 支持gensub函数,和sed的替换功能相类似了。
  1. awk '{print gensub(/([^0-9]+)([0-9]+)([^0-9]+)-(.+)([^0-9])([0-9]+)/,"\\3\\1\\2-\\4\\6\\5","g")}' infile
复制代码

论坛徽章:
0
27 [报告]
发表于 2014-03-07 10:40 |只看该作者
这贴子好老了。各位楼上已经磨练成技术高手了吧。平台上有python的话,用python 也挺好。现在(话说现在是2014年)python已经很流行了。

论坛徽章:
3
酉鸡
日期:2014-04-23 17:17:56丑牛
日期:2014-05-08 11:41:302015亚冠之德黑兰石油
日期:2015-08-03 11:14:27
28 [报告]
发表于 2014-03-07 11:43 |只看该作者
回复 6# flw


    严重同意!!尤其是想我这种grep, sed,awk都知道一点,又都不深入,就更加迷茫了
    越来越觉得有必要好好研读下sed&awk了

论坛徽章:
0
29 [报告]
发表于 2014-03-07 12:23 |只看该作者
python的确是一门不错的脚本语言,后起之秀,加油!
兼容性比 shell好

论坛徽章:
2
白银圣斗士
日期:2015-11-30 10:39:16IT运维版块每日发帖之星
日期:2015-12-02 06:20:00
30 [报告]
发表于 2014-06-18 01:50 |只看该作者
前来看大家掘坟,好欢乐233
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP