免费注册 查看新帖 |

Chinaunix

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

[文本处理] awk sed 问题 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2014-08-02 18:17 |只看该作者 |正序浏览
48|dec|3bc1997|lpsx|68.00|lvx2a|138
483|sept|5ap1996|usp|65.00|lvx2c|189
有个文本t.txt已经为上面所示,有很多行

想实现的结果为
将文本的2,4,6域名改为;输出
48|dec;3bc1997|lpsx;68.00|lvx2a;138
483|sept;5ap1996|usp;65.00|lvx2c;189

请问怎么实现
多谢 各位大神

论坛徽章:
0
26 [报告]
发表于 2014-08-04 18:13 |只看该作者
回复 25# Nathon99


    我习惯sed不用-r 所以我的()需要在前面各加一个\ 另外\1 \2就是分别代表第一个括号和第二个括号匹配的内容

论坛徽章:
0
25 [报告]
发表于 2014-08-04 17:43 |只看该作者
回复 24# ivorning


    括号里面*\是啥意思呀?
    还有你的1是代表引用第一个括号
    2代表第二个??

论坛徽章:
0
24 [报告]
发表于 2014-08-04 17:36 |只看该作者
回复 22# Nathon99

sed 's/\([^|]*\)|\([^|]*|\)/\1;\2/g'  替换奇数|
   

论坛徽章:
0
23 [报告]
发表于 2014-08-04 17:36 |只看该作者
回复 20# dn833


    大神  给个答案吧

论坛徽章:
0
22 [报告]
发表于 2014-08-04 17:25 |只看该作者
回复 20# dn833


    菜鸟,麻烦给个答案吧,呵呵,我研究下.
    多谢

论坛徽章:
0
21 [报告]
发表于 2014-08-04 17:12 |只看该作者
回复 18# Nathon99

正则表达式中括号中有一个| 括号外有一个 | 替换只是把第二个|换成了; 第一个|会因为\1的引用保留下来的 正则表达式是两个一组操作的 所以偶数的|就都被替换掉了
   

论坛徽章:
5
未羊
日期:2014-08-04 16:15:21天秤座
日期:2014-08-13 13:52:372015年辞旧岁徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:56:112015亚冠之浦和红钻
日期:2015-06-29 15:30:48
20 [报告]
发表于 2014-08-04 16:56 |只看该作者
回复 19# Nathon99


    自己动动脑子咯~~~~哥都解释到如此地步了,如果不能触类旁通的话,建议你赶紧转行吧~~~

论坛徽章:
0
19 [报告]
发表于 2014-08-04 16:50 |只看该作者
回复 16# dn833


    那么如果是奇数的替换呢,大神

论坛徽章:
0
18 [报告]
发表于 2014-08-04 16:50 |只看该作者
回复 10# ivorning
代码如何体现就把第二个|替换???


   
  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP