假设我在中有一段文字~/.bashrc
:
#~/.bashrc
# ...some commands...
# aliases
alias suicide='sudo rm -rf /'
# end aliases
# other commands
我希望将该文本块替换为另一个文件中两个标记之间包含的一些其他文本: stuff-to-place-in-bashrc.txt
# stuff-to-place-in-bashrc.txt
# ...stuff...
# aliases
alias ldir='ls * -d'
alias ithinklifeisworthliving='echo all good'
# end aliases
# ...more stuff...
我试过了
sed -ne 's/# aliases\s+\(.*\)\s+# end aliases/\1/' stuff-to-place-in-bashrc.txt
但是我真的在黑暗中摇摆。有人可以帮我吗?
如何从中提取文本
stuff-to-place-in-bashrc.txt
?如何
~/.bashrc
用问题1中的提取文本替换另一部分?
编辑
谢谢你们的更新,那些想知道为什么我想要这样的人:
允许对脚本文件进行精心挑选的更新,而不会覆盖用户添加的内容。对于共享和经常更新的标准操作环境非常有用(例如我在Tyro的上一份工作是用XP编码的)。
去疯狂的家伙。
# aliases
和# end aliases
)更改“花括号” ,它可能对您有用。