我将通过一个例子更好地解释我的情况。
考虑一个httpd.conf文件,我需要在其中更改文档根目录。所以首先我需要找到ServerName然后更改文档根目录,所以我相信我需要两个正则表达式,但我不知道该怎么做?有人可以帮忙吗?或者我只需要找到ServerName并做一个注释的行号然后继续使用脚本查找DocumentRoot?感谢。
答案 0 :(得分:0)
我不确定,但也许这样的事情对你有用。
cat /etc/apache2/http.conf | sed 's/.*ServerName=.*/ServerName=YourNewLocation/' > tmp
mv tmp /etc/apache2/http.conf
答案 1 :(得分:0)
我不确定为什么你需要先搜索ServerName,但是这里是你可以改变文档的方法
awk '/^DocumentRoot/{$0="DocumentRoot /new/root" } {print}' /path/httpd.conf > temp
mv temp /path/httpd.conf
或者,如果您正在使用ServerName值来创建新根
awk '$1~/ServerName/{servername=$2}
/^DocumentRoot/{
$0="DocumentRoot "servername # create your new root here.
}
{print}
' /path/httpd.conf > temp
mv temp /path/httpd.conf