2017-02-20 74 views
0
LoadModule proxy_ftp_module /usr/jboss/jbossweb/navapp_ws1/modules/mod_proxy_ftp.so 
LoadModule proxy_http_module /usr/jboss/jbossweb/navapp_ws1/modules/mod_proxy_http.so 
LoadModule proxy_connect_module /usr/jboss/jbossweb/navapp_ws1/modules/mod_proxy_connect.so 
LoadModule cache_module /usr/jboss/jbossweb/navapp_ws1/modules/mod_cache.so 
LoadModule suexec_module /usr/jboss/jbossweb/navapp_ws1/modules/mod_suexec.so 
LoadModule disk_cache_module /usr/jboss/jbossweb/navapp_ws1/modules/mod_disk_cache.so 
LoadModule cgi_module /usr/jboss/jbossweb/navapp_ws1/modules/mod_cgi.so 
LoadModule dtsagent /www/apps/dynatrace/dynatrace.so 

我想找到这个文件 LoadModule dtsagent /www/apps/dynatrace/dynatrace.so 并删除所有具有LoadModule dtsagent ........删除现有生产线在httpd.conf用新值替换

目前我这个工作,下面一行添加同一块 grep -q -F 'LoadModule dtagent_module' $jvm_home/$webservers/conf/httpd.conf || sed "/^LoadModule/,/^$/!b;/^$/i\LoadModule dtagent_module /www/apps/dynatrace/$webservers/agent/lib64/libdtagent.so" -i file

+1

不清楚你想达到的目标。只是一个猜测,是'grep -v“^ LoadModule dtsagent”'也许有帮助? – DevSolar

+0

你可以学习[如何提出一个好问题](http://stackoverflow.com/help/how-to-ask)并创建一个[Minimal,Complete,and Verifiable](http://stackoverflow.com/help/mcve)的例子。这使我们更容易帮助你。 –

+0

嘿,伙计们,对于不明确的问题抱歉。所以基本上我只想找到所有匹配“LoadModule dtsagent”的行并删除。 –

回答

0

这是容易的sed:

sed '/^LoadModule dtsagent/d' httpd.conf 

的sed会寻找开始/^LoadModule dtsagent/任何线和删除线。 “^”表示行的开始。如果您的搜索字词可以在行中的任何位置,请将其删除。

+0

Thxs John,这正是我所需要的。 –

1

使用全球前命令

我F你正在编辑在Vim的httpd.conf文件,你可以发出全球ex命令:

:g/^LoadModule dtsagent/d

在口头上,这也就意味着找到匹配模式的所有信息,并删除:

^LoadModule dtsagent

我选择使用锚点^来表示我们希望从行首开始找到此模式。

最后,一旦找到匹配项,我想删除该行,因此我将删除行命令放在末尾,d