Просто используйте awk:
$ awk '{print} sub(/DocumentRoot\s\/data\/iga\/wwwroot.*/,"ServerName itworked")' file
DocumentRoot /data/iga/wwwroot
ServerName itworked
Приведенное выше будет использовать любой интервал, присутствующий в строке «DocumentRoot», вместо того, чтобы требовать повторного указания интервала в вашей команде. Чтобы сделать изменения «встроенными», добавьте -i inline
, и это будет работать с GNU awk точно так же, как -i
работает с GNU sed - awk -i inline '...' file
.
Netbeans, похоже, вообще не в силах контролировать Tomcat, как я обнаружил. Чем больше раз развертывается приложение, тем более нестабильно становится Tomcat, пока я не получу проблему с улыбкой, описанную вами. В больших приложениях требуется только одно развертывание. Мой обходной путь заключается в том, чтобы отменить развертывание приложения через вкладку «Службы» в Netbeans (в разделе Servers / Tomcat6 / applicationContext), а затем остановить экземпляр Tomcat перед каждый раз, когда вы запускаете приложение. Если NetBeans не может отменить развертывание приложения, я направляю свой браузер на веб-приложение менеджера Tomcat (обычно http: // localhost: 8080 / manager / html ) и оттуда его отменяю. Если Netbeans не может остановить Tomcat, я убиваю JVM, которую использует Tomcat (CTRL + ALT + DEL в Windows). Используя эти три метода, я могу избежать перезапуска Netbeans примерно в 95% случаев. Когда я очень расстроен, я запускаю свой проект, используя Jetty из командной строки.
Я не знаю, какую версию Netbeans Вы используете, но остановить рабочий экземпляр Tomcat, щелкните правой кнопкой по узлу проекта Tomcat и выберите Stop Tomcat из всплывающего меню.
Вы используете встроенный Tomcat, который идет с NetBeans? Я предлагаю, чтобы Вы загрузили и разархивировали Tomcat 6 локально, добавили его к NetBeans и использовали это для своих веб-приложений.
Мне придется дважды проверить, но когда я запускаю NB в Linux, я почти уверен, что в правом нижнем углу есть небольшой значок / окно с «x», чтобы убить запущенные процессы (т.е. остановить выполнение). Я не вижу этого на Mac, но почему бы и нет?
Возможно, я неправильно помню, но убивать кота неудобно, как описано здесь.