免费注册 查看新帖 |

Chinaunix

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

怎样用shell对文件的多行进行处理 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2010-11-17 16:46 |只看该作者 |倒序浏览
怎样用Shell对文件的多行进行处理例如:
下列代码:
      module modelname (a,
                                       b,
                                       clk, reset,
                                       outputdata);
我想把它变成:
      module modelname(.a(a),
                                      .b(b),
                                      .clk(clk), .reset(reset),
                                      .outputdata(outputdata));
由于sed和awk都是一行行的读入的,我就没有办法了,请各位大神指教。

论坛徽章:
0
2 [报告]
发表于 2010-11-17 17:01 |只看该作者
回复 1# jingke05


    ???

论坛徽章:
0
3 [报告]
发表于 2010-11-17 17:11 |只看该作者
一行行的读入就一行行的处理嘛,
你那个要自己写规则

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
4 [报告]
发表于 2010-11-17 17:51 |只看该作者
本帖最后由 昭襄王 于 2010-11-17 17:53 编辑
  1. cat lines3
  2. module modelname (a,
  3.                   b,
  4.                   clk, reset,
  5.                   outputdata);
复制代码
  1. sed 's/\(\b\w\+\)\([,)]\)/\.\1(\1)\2/g' lines3
  2. module modelname (.a(a),
  3.                   .b(b),
  4.                   .clk(clk), .reset(reset),
  5.                   .outputdata(outputdata));
复制代码

论坛徽章:
0
5 [报告]
发表于 2010-11-18 11:44 |只看该作者
本帖最后由 BangBull 于 2010-11-18 11:46 编辑

回复 4# 昭襄王


    \b   这个是词定位

    \w   这个是 [A-Za-z_]

    是不是这么解释 ???  真是的话 Perl 的语法能用在 sed 上 , 学习了
  1. sed 's/\([A-Za-z]\+\)\([,)]\)/\.\1(\1)\2/g' urfile
复制代码

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
6 [报告]
发表于 2010-11-18 11:59 |只看该作者
回复  昭襄王


    \b   这个是词定位

    \w   这个是 [A-Za-z_]

    是不是这么解释 ???  真是 ...
BangBull 发表于 2010-11-18 11:44



    在看神兽书,在sed试了一下是可以的。那个\b大约是多余的。\w在perl里面是[a-zA-z0-9_]好像。是吗?

论坛徽章:
0
7 [报告]
发表于 2010-11-18 13:46 |只看该作者
回复 6# 昭襄王


    \w  是 [A-Za-z0-9_]  ,   "神兽书"  ???

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
8 [报告]
发表于 2010-11-18 13:54 |只看该作者
回复  昭襄王


    \w  是 [A-Za-z0-9_]  ,   "神兽书"  ???
BangBull 发表于 2010-11-18 13:46



    羊驼书,小骆驼,大骆驼神马的

论坛徽章:
1
2015年辞旧岁徽章
日期:2015-03-03 16:54:15
9 [报告]
发表于 2010-11-18 18:57 |只看该作者
回复  昭襄王


    \w  是 [A-Za-z0-9_]  ,   "神兽书"  ???
BangBull 发表于 2010-11-18 13:46



    man grep就可以看到了。
The symbol \w is a synonym for [[:alnum:]] and \W is a synonym for [^[:alnum]].

论坛徽章:
0
10 [报告]
发表于 2010-11-19 10:43 |只看该作者
回复 8# 昭襄王


       我也在看神兽书
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP