免费注册 查看新帖 |

Chinaunix

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

这个问题如何用sed实现,谁知道? [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-01-09 17:23 |只看该作者 |倒序浏览
假设from.txt文件内容如下:
     1  from
     2
     3  from from AAA
     4  from BBB
     5  CCC
     6  from EEE
     7  MMMMM
     8  NNNNN
     9  from

在3-6行内搜索含有from字符串的行,分别替换成**********字符串。
用c\选项,但是我不知道怎么把3-6行这个范围和from模式结合在一起。 请高手指点,多谢!

期望结果如下:
     1  from
     2
**********
**********
     5  CCC
**********
     7  MMMMM
     8  NNNNN
     9  from

[ 本帖最后由 WinnerBoy 于 2007-1-9 17:25 编辑 ]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
2 [报告]
发表于 2007-01-09 17:26 |只看该作者
sed '3,6{/from/ s/.*/\*\*\*\*\*/}'

[ 本帖最后由 woodie 于 2007-1-9 17:30 编辑 ]

论坛徽章:
0
3 [报告]
发表于 2007-01-09 17:31 |只看该作者

回复 2楼 woodie 的帖子

woodie,行不通,出错!

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
4 [报告]
发表于 2007-01-09 17:34 |只看该作者
刚才忘了加引号了,加上再试试。

论坛徽章:
0
5 [报告]
发表于 2007-01-09 17:35 |只看该作者
继续用大家不喜欢的...^_^

  1. sed '3,6{
  2. /from/c\
  3. **********
  4. }'
复制代码

论坛徽章:
0
6 [报告]
发表于 2007-01-09 17:39 |只看该作者
你们没有哪个是严谨的,不信你们自己在Shell下执行看看。

论坛徽章:
0
7 [报告]
发表于 2007-01-09 17:40 |只看该作者
我自己弄出来了。谢谢提醒。

/root/wptest>sed "3,6{/from/c\\
***********
}" from1
     1  from
     2
***********
***********
     5  CCC
***********
     7  MMMMM
     8  NNNNN

/root/wptest>

论坛徽章:
0
8 [报告]
发表于 2007-01-09 17:43 |只看该作者
原帖由 WinnerBoy 于 2007-1-9 17:40 发表
我自己弄出来了。谢谢提醒。

/root/wptest>sed "3,6{/from/c\\
***********
}" from1
     1  from
     2
***********
***********
     5  CCC
***********
     7  MMMMM
     8  N ...



和我的一样嘛...用双引号不用变量, 不如用单引号...

论坛徽章:
0
9 [报告]
发表于 2007-01-09 17:44 |只看该作者
原帖由 Edengundam 于 2007-1-9 17:43 发表



和我的一样嘛...用双引号不用变量, 不如用单引号...



哥们,用单引号会出错的,你可知道“对于a和i命令,不支持单引号,只能用双引号,而对于d命令等其他命令,都可以。”

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
10 [报告]
发表于 2007-01-09 17:47 |只看该作者
原帖由 WinnerBoy 于 2007-1-9 17:39 发表
你们没有哪个是严谨的,不信你们自己在Shell下执行看看。

呵呵,我是的确不严谨,楼主息怒!^_^
前面写的有点罗嗦,反斜杠是不必要的。:
  1. $ echo '     1  from
  2.      2
  3.      3  from from AAA
  4.      4  from BBB
  5.      5  CCC
  6.      6  from EEE
  7.      7  MMMMM
  8.      8  NNNNN
  9.      9  from'|sed '3,6{/from/ s/.*/**********/}'
  10.      1  from
  11.      2
  12. **********
  13. **********
  14.      5  CCC
  15. **********
  16.      7  MMMMM
  17.      8  NNNNN
  18.      9  from
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

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

清除 Cookies - ChinaUnix - Archiver - WAP - TOP