如何替换conf文件中的文本
How to replace texts in conf file
我需要替换 conf 文件中的以下参数:
DocumentRoot /var/www/html
我需要将 /var/www/html
设置为 /var/www/www.something.ee
www.something.ee是一个变量$WEBPAGE
到目前为止我有这个:
sed -i "s/DocumentRoot /var/www/html /DocumentRoot /var/www/$WEBPAGE/g" /etc/apache2/sites-available/$WEBPAGE.conf
但是,由于它包含斜杠,因此该命令不需要 运行。把撇号放在它们周围似乎并不想工作:
couldn't open file ww/html' /'DocumentRoot /var/www/www.something.ee'/g: No such file or directory
有什么想法吗?
使用 sed,您可以使用任何定界符...
sed 's@oldText@newText@g'
sed 's#oldText#newText#g'
因此,如果 /
打扰了您,请使用不同的分隔符。
您可以选择使用斜线以外的定界符。您也不需要 g 选项,因为没有多次出现搜索
sed -i "s!DocumentRoot /var/www/html !DocumentRoot /var/www/$WEBPAGE!" /etc/apache2/sites-available/$WEBPAGE.conf
我需要替换 conf 文件中的以下参数:
DocumentRoot /var/www/html
我需要将 /var/www/html
设置为 /var/www/www.something.ee
www.something.ee是一个变量$WEBPAGE
到目前为止我有这个:
sed -i "s/DocumentRoot /var/www/html /DocumentRoot /var/www/$WEBPAGE/g" /etc/apache2/sites-available/$WEBPAGE.conf
但是,由于它包含斜杠,因此该命令不需要 运行。把撇号放在它们周围似乎并不想工作:
couldn't open file ww/html' /'DocumentRoot /var/www/www.something.ee'/g: No such file or directory
有什么想法吗?
使用 sed,您可以使用任何定界符...
sed 's@oldText@newText@g'
sed 's#oldText#newText#g'
因此,如果 /
打扰了您,请使用不同的分隔符。
您可以选择使用斜线以外的定界符。您也不需要 g 选项,因为没有多次出现搜索
sed -i "s!DocumentRoot /var/www/html !DocumentRoot /var/www/$WEBPAGE!" /etc/apache2/sites-available/$WEBPAGE.conf