请问linux下使用sed如何删除和修改匹配行之间的内容

bobwei 2009-03-22 04:04:11
现在有一下一段代码
/*<O37>*/
// add_ptr = add_ptr->NEXT;
//
// continue;
/*</O37>*/
/*<B37>*/
writePath(37);
printf("\nWill loop forever!");
exit(1);
/*</B37>*/
........

/*<B37>*/
while (writePath(36)&&((p->PREV)->LINE_NUM == err_ptr->LINE_NUM) && (p->PREV != NULL)) {
/*</B37>*/
需要将所有/*<B37>*/到/*</B37>*/之间的内容删除,然后将/*<O37>*/到/*</O37>*/之间的注释符“//”去掉
本人初学sed现在只会把第一个/*<B37>*/到/*</B37>*/之间的内容删除,我的代码如下:
sed -ne '1,/<b37>/p;/<\/b37>/,$p' data3
请高手指点一下

...全文
1330 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
小小不不 2009-03-22
  • 打赏
  • 举报
回复
[test@ ~ ] $ sed -e '/* <B37>*/,/* <\/B37>*/d;/* <O37>*/,/* <\/O37>*/{s/\/\///}' data3
/* <O37>*/
add_ptr = add_ptr->NEXT;

continue;
/* </O37>*/
bobwei 2009-03-22
  • 打赏
  • 举报
回复
问题已解决
sed -e '/* <B37>*/,/* <\/B37>*/d;/* <O37>*/,/* <\/O37>*/{s/\/\///}' data3
/* <O37>*/
xhy_851221 2009-03-22
  • 打赏
  • 举报
回复
up

23,118

社区成员

发帖
与我相关
我的任务
社区描述
Linux/Unix社区 应用程序开发区
社区管理员
  • 应用程序开发区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧