如何使用Linux Bash指令将行替换为文件的特殊字符?

时间:2018-11-09 01:24:03

标签: linux bash shell awk sed

我试图在数据库服务器上的一行中修改phpmyadmin配置文件的行,恰好是文件/etc/phpmyadmin/config.inc.php,在此我需要使用bash指令对其进行更改。我尝试使用sed和awk命令执行此操作,但是仍然没有结果。

我要修改的行如下:

run in Compile := (run in Compile in migrations).evaluated

对于以下值:

$cfg['Servers'][$i]['host'] = $dbserver;

1 个答案:

答案 0 :(得分:0)

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副本)。