免费注册 查看新帖 |

Chinaunix

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

[Linux] 如何用脚本修改一个文件的内容 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-01-07 15:14 |只看该作者 |倒序浏览
  我要做的事情,


   文件有好多行,每行的格式 都是一样的 比如:  


  linux  linux   h e l l o



  有三部分  第二部分(linux)和第一部分(linux)一样  现在要做的是 把第三部分(h e l l 0)的字符用下划线连接起来(_),然后替换掉第二部分


修改后的格式如下:



linux  h_e_l_l_o  h e l l o  



刚接触  新手求教。

论坛徽章:
3
CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2014-03-27 15:44:382015年辞旧岁徽章
日期:2015-03-03 16:54:15
2 [报告]
发表于 2013-01-07 17:07 |只看该作者
  1. perl -i.bak -pe 's/(\w+\s+)\w+(\s+)(.*)/$1$3$2$3/g;@a=split / /,$3;$b=join "_",@a;s/(\s+)$3(\s+)/$1$b$2/g' tmp
复制代码
回复 1# hu_lu_wa


   

论坛徽章:
3
CU十二周年纪念徽章
日期:2013-10-24 15:41:34狮子座
日期:2014-03-27 15:44:382015年辞旧岁徽章
日期:2015-03-03 16:54:15
3 [报告]
发表于 2013-01-07 17:08 |只看该作者
tmp指你的文件名

论坛徽章:
0
4 [报告]
发表于 2013-01-07 17:41 |只看该作者
回复 3# cu_little_bird


我试过了,你的方法太好了,谢谢你,大神,再就是还有一个问题,从处理的结果看,凡是里面有中文的字符的话,处理后中文出现两次,而英文的没问题,正确。


我笨的很,用php搞了一下午,才搞正确, 你这一句脚本就行了。

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

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP