Мне нужно написать простой скрипт для замены блока текста в файле конфигурации содержимым другого файла.
Предположим, что у вас есть следующие упрощенные файлы:
server.xml
<?xml version='1.0' encoding='UTF-8'?>
<Server port="8005" shutdown="SHUTDOWN">
<Service name="Catalina">
<Connector port="80" protocol="HTTP/1.1"/>
<Engine name="Catalina" defaultHost="localhost">
<!-- BEGIN realm -->
<sometags/>
<sometags/>
<!-- END realm -->
<Host name="localhost" appBase="webapps"/>
</Engine>
</Service>
</Server>
realm.xml
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
Я хочу запустить скрипт и realm.xml
заменить содержимое между строками <!-- BEGIN realm -->
и <!-- END realm -->
. Если realm.xml
изменяется, то всякий раз, когда сценарий запускается снова, он снова заменяет строки новым содержимым realm.xml
. Это предназначено для запуска в /etc/init.d/tomcat
при запуске службы на нескольких установках, в которых область будет отличаться.
Я не совсем уверен, как я могу сделать это просто с помощью awk
или sed
.