免费注册 查看新帖 |

Chinaunix

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

--请教sed替换文本问题-- [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2006-11-03 09:45 |只看该作者 |倒序浏览
两个问题:

1、请问如何用sed 将文本的最后一行内容替换为其他内容?

例如:

  1. 123
  2. 234345
  3. 345
  4. abc
复制代码


替换后变为:
  1. 123
  2. 234345
  3. 345
  4. efg
复制代码



2、如果想替换的行不在最后一行怎么办?( 需要查找到含有关键字的行然后替换到)

将含有abc的行替换为efg


  1. 将含有abc的行替换为efg
复制代码



或者不用sed 其他方法也可以

谢谢!

论坛徽章:
0
2 [报告]
发表于 2006-11-03 09:59 |只看该作者
awk '/abc/{sub($1,"efg")}{print}' file

[ 本帖最后由 letwave 于 2006-11-3 10:46 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2006-11-03 10:01 |只看该作者

回复 2楼 letwave 的帖子

sed 's/abc/efg/g' file

论坛徽章:
0
4 [报告]
发表于 2006-11-03 10:07 |只看该作者
  1. awk '{print(match($0,"abc")==0?$0:"efg")}'
复制代码

论坛徽章:
0
5 [报告]
发表于 2006-11-03 10:22 |只看该作者

回复 4楼 guochunning 的帖子

tr 'abc' 'efg' < file

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
6 [报告]
发表于 2006-11-03 10:26 |只看该作者
原帖由 letwave 于 2006-11-3 10:22 发表
tr 'abc' 'efg' < file

这个有点儿过头了^_^
试一下
a+++bb++a++cb+++++c
这种情况

论坛徽章:
0
7 [报告]
发表于 2006-11-03 10:29 |只看该作者

回复 6楼 r2007 的帖子

en,   my case is very simple, it is hard to process your case.
but how to do your case? please give the answer.

论坛徽章:
7
荣誉版主
日期:2011-11-23 16:44:17子鼠
日期:2014-07-24 15:38:07狮子座
日期:2014-07-24 11:00:54巨蟹座
日期:2014-07-21 19:03:10双子座
日期:2014-05-22 12:00:09卯兔
日期:2014-05-08 19:43:17卯兔
日期:2014-08-22 13:39:09
8 [报告]
发表于 2006-11-03 10:42 |只看该作者
试一下就知道了
  1. echo 'a+++bb++a++cb+++++c'|tr 'abc' 'efg'
复制代码

论坛徽章:
0
9 [报告]
发表于 2006-11-03 10:51 |只看该作者

回复 8楼 r2007 的帖子

我的意思是,先查找文本文件,看哪一行同时都包含有a,b,c。
将这一行换成efg,例如:

a+b+d
a+b+c
d+d+d
由于第二行同时含有abc,所以最后结果是:
a+b+d
e+g+f
d+d+d
这个如何实现呢?

论坛徽章:
0
10 [报告]
发表于 2006-11-03 10:57 |只看该作者

回复 2楼 letwave 的帖子

awk '{sub("abc","efg");print}' file
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP