Disons que j'avais un bloc de texte dans ~/.bashrc
:
#~/.bashrc
# ...some commands...
# aliases
alias suicide='sudo rm -rf /'
# end aliases
# other commands
Je souhaite remplacer ce bloc de texte par un autre texte contenu entre deux marqueurs dans un autre fichier: 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...
J'ai essayé
sed -ne 's/# aliases\s+\(.*\)\s+# end aliases/\1/' stuff-to-place-in-bashrc.txt
Mais je balance vraiment dans le noir ici. Est-ce que quelqu'un peut me donner un coup de main?
Comment puis-je extraire le texte du
stuff-to-place-in-bashrc.txt
?Comment remplacer l'autre section
~/.bashrc
par le texte extrait de la question 1?
Éditer
Merci pour les mises à jour, ceux qui se demandent pourquoi je voudrais quelque chose comme ça:
permet des mises à jour triées sur le volet des fichiers de script sans remplacer les ajouts créés par l'utilisateur. utile pour les environnements d'exploitation standard partagés et fréquemment mis à jour (comme mon dernier travail chez Tyro qui codait avec XP).
devenez fou les gars.
# aliases
et# end aliases
), et cela peut fonctionner pour vous.