This question already has answers here:
Escape a string for a sed replace pattern
(13个答案)
去年关门了。
我正试图修改phpmyadmin配置文件的行,确切地说,就是数据库服务器上的行中的文件/etc/phpmyadmin/config.inc.php,在那里我需要用bash指令来更改它。我试着用sed和awk命令来做,但仍然没有结果。
我要修改的行如下:
$cfg['Servers'][$i]['host'] = $dbserver;

对于以下值:
$cfg['Servers'][$i]['host'] = '192.168.0.10';

最佳答案

cat ini
"$cfg['Servers'][$i]['host'] = $dbserver;"

cat ini |  sed "s/\$dbserver/'192.168.0.10'/"
"$cfg['Servers'][$i]['host'] = '192.168.0.10';"

换句话说,一个
sed -i.bak-e "s/\$cfg\['Servers'\]\[\$i\]\['host'\] = \$dbserver;/\$cfg['Servers'][\$i]['host'] = '192.168.0.10';/" /etc/phpmyadmin/config.inc.php

应该做这项工作。(以.bak副本作为预防措施)。

关于linux - 如何使用Linux Bash指令将行替换为文件的特殊字符? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53218510/

10-12 00:44
查看更多