免费注册 查看新帖 |

Chinaunix

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

sed如何计数呢? [复制链接]

论坛徽章:
2
狮子座
日期:2014-08-29 16:15:422015亚冠之阿尔纳斯尔
日期:2015-08-28 17:47:49
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-08-13 11:12 |只看该作者 |倒序浏览
例,a文件内容如下:

A B C D E
C D A B
E D E A A
Y A S D Z A C A

其中有7个A字符,要怎么实现在每个A字符后面标记计数呢?如:

A(1) B C D E
C D A(2) B
E D E A(3) A(4)
Y A(5) S D Z A(6) C A(7)

谢谢……

论坛徽章:
0
2 [报告]
发表于 2010-08-13 11:20 |只看该作者
打个点,计
请看tim作品

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
3 [报告]
发表于 2010-08-13 11:20 |只看该作者
awk简单点,不过把出现的次数打印在A后面有点难度。

论坛徽章:
2
狮子座
日期:2014-08-29 16:15:422015亚冠之阿尔纳斯尔
日期:2015-08-28 17:47:49
4 [报告]
发表于 2010-08-13 11:22 |只看该作者
就是看了tim的教程才想到这个问题,不知道如何解决。

论坛徽章:
0
5 [报告]
发表于 2010-08-13 11:23 |只看该作者
awk '{for(i=1;i<=NF;i++)if($i=="A")$i=$i"("++cnt")"}1' file

论坛徽章:
2
狮子座
日期:2014-08-29 16:15:422015亚冠之阿尔纳斯尔
日期:2015-08-28 17:47:49
6 [报告]
发表于 2010-08-13 11:28 |只看该作者
回复 5# lkk2003rty


    AWK 确实不错, SED 有没有办法呢?

论坛徽章:
0
7 [报告]
发表于 2010-08-13 11:42 |只看该作者
回复 1# 122285969


    awk '/A/{i++;gsub(/A/,"A ""("i") ",$0);print}'

论坛徽章:
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
8 [报告]
发表于 2010-08-13 12:14 |只看该作者

  1. $ cat urfile
  2. A B C D E
  3. C D A B
  4. E D E A A
  5. Y A S D Z A C A
  6. $ sed -nf test.sed urfile
  7. A(1) B C D E
  8. C D A(2) B
  9. E D E A(3) A(4)
  10. Y A(5) S D Z A(6) C A(7)
  11. $ cat test.sed
  12. #! /bin/sed -f
  13. :a
  14. /\<A\>/{
  15.         x
  16.         /^$/s/^/1/
  17.         G
  18.         s/\<A\>/&\n/
  19.         s/^\([0-9][0-9]*\)\n\(.*\)\(A\n\)/\1\n\2A\1/
  20.         h
  21.         s/\n.*/-1/
  22.         s/$/-;9aaaaaaaaa98aaaaaaaa87aaaaaaa76aaaaaa65aaaaa54aaaa43aaa32aa21a100/
  23.         : add
  24.         /^--[^a]/!{
  25.                 s/^\([0-9a]*\)\([0-9]\)-\([^-]*\)-\(.*;.*\2\(a*\)\2.*\)/\1-\3-\5\4/
  26.                 s/^\([^-]*\)-\([0-9a]*\)\([0-9]\)-\(.*;.*\3\(a*\)\3.*\)/\1-\2-\5\4/
  27.                 s/-\(aaaaaaaaa\(a\)\)\{0,1\}\(a*\)\([0-9]*;.*\([0-9]\)\3\5\)/-\2\5\4/
  28.                 b add
  29.         }
  30.         s/^--\([^;]*\);.*/\1/
  31.         x
  32.         ba
  33. }
  34. s/.*\n//
  35. s/\(A\)\([0-9]*\)/\1(\2)/g
  36. p
复制代码

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
9 [报告]
发表于 2010-08-13 12:15 |只看该作者
tim好强大,仰望之。

论坛徽章:
16
IT运维版块每日发帖之星
日期:2015-08-24 06:20:00综合交流区版块每日发帖之星
日期:2015-10-14 06:20:00IT运维版块每日发帖之星
日期:2015-10-25 06:20:00IT运维版块每日发帖之星
日期:2015-11-06 06:20:00IT运维版块每日发帖之星
日期:2015-12-10 06:20:00平安夜徽章
日期:2015-12-26 00:06:302016猴年福章徽章
日期:2016-02-18 15:30:34IT运维版块每日发帖之星
日期:2016-04-15 06:20:00IT运维版块每日发帖之星
日期:2016-05-21 06:20:00综合交流区版块每日发帖之星
日期:2016-08-16 06:20:002015七夕节徽章
日期:2015-08-21 11:06:17IT运维版块每日发帖之星
日期:2015-08-14 06:20:00
10 [报告]
发表于 2010-08-13 12:24 |只看该作者
回复 7# wtuter


    O(∩_∩)O~,这个想法好帅啊
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP