inux下,shell如何删除指定字符间的内容

liangchaoxi 2015-12-20 08:31:17
#begin
here is need to be repalce content!
#end


脚本请问怎么删除#begin 和 #end 之间的内容? 只剩下here is need to be repalce content!

其实我是这样的,我有个脚本,执行之后,向文件 myfile.conf 添加下面的内容
#begin
here is need to be repalce content!
#end

我想到的是用echo 追加进去,但是我又不想谁以后不小心多次执行脚本造成 添加多次上面的内容。所以我想到的是,在echo前面再加一句话,就是删除#begin 和 #end 之间的内容(连带#begin 和 #end一起删),然后再echo进去,这样不管脚本执行多少遍,都只有一个下面的内容
#begin
here is need to be repalce content!
#end

请问如何能实现?用sed吗?

还有要是能够直接一条命令实现: myfile.conf中#begin 和#end存在就替换,不存在就直接追加就好了。能够给我一些建议的命令,并且简单讲下每一部分什么意思吗?
...全文
797 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
liangchaoxi 2015-12-22
  • 打赏
  • 举报
回复
引用 1 楼 fan63182830 的回复:
sed -i '/^#begin/,/#end$/d '
有没有就是删除和添加替换一起的命令
皇御雷霆 2015-12-20
  • 打赏
  • 举报
回复
sed -i '/^#begin/,/#end$/d '

23,120

社区成员

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

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