Angenommen, ich hatte einen Textblock in ~/.bashrc
:
#~/.bashrc
# ...some commands...
# aliases
alias suicide='sudo rm -rf /'
# end aliases
# other commands
Ich möchte diesen Textblock durch einen anderen Text ersetzen, der zwischen zwei Markierungen in einer anderen Datei enthalten ist: 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...
ich habe es versucht
sed -ne 's/# aliases\s+\(.*\)\s+# end aliases/\1/' stuff-to-place-in-bashrc.txt
Aber ich schwinge hier wirklich im Dunkeln. Könnte mir jemand helfen?
Wie extrahiere ich den Text aus dem
stuff-to-place-in-bashrc.txt
?Wie ersetze ich den anderen Abschnitt
~/.bashrc
durch den extrahierten Text aus Frage 1?
Bearbeiten
Vielen Dank für die Updates, Leute, die sich fragen, warum ich so etwas möchte:
Ermöglicht ausgewählte Aktualisierungen von Skriptdateien, ohne benutzerdefinierte Ergänzungen zu überschreiben. nützlich für gemeinsam genutzte und häufig aktualisierte Standardbetriebsumgebungen (wie mein letzter Job bei Tyro , der mit XP codiert wurde).
verrückt werden Jungs.
# aliases
und# end aliases
), und es kann für Sie funktionieren.