我想使用sed在我的php.ini文件中修改include_path指令。下面,我有一个命令查找一个字符串,并将匹配后的指令放在一行中。但是,我仍然无法在保持$ {install_path}变量中的双引号的同时继续工作。双引号必须在那里。单引号内的sed命令字符串变量连接
我想编辑的文件是php.ini。下面是几行前,我的目标,这是对后行之后“UNIX”:
;;;;;;;;;;;;;;;;;;;;;;;;;
; Paths and Directories ;
;;;;;;;;;;;;;;;;;;;;;;;;;
; UNIX: "/path1:/path2"
;include_path = "/path1:/path2"
;
; Windows: "\path1;\path2"
INSTALL_PATH被定义为:
install_path="/var/www/mainapp"
,我使用下面的搜索sed命令对于一个字符串匹配,然后创建下方一个新行:
sed -i '/; UNIX: "\/path1:\/path2"/a include_path = "${install_path}/lib"' /etc/php.ini
php.ini文件中的预期成果是:
; UNIX: "/path1:/path2"
include_path = "/var/www/mainapp/lib"
include_path行已在行“;”后创建。 UNIX:。...”
感谢您的帮助
编辑您的问题以包含一些可测试的示例输入和预期输出。同时向我们展示如何填充'install_path'变量。 –
我已经编辑它以具有install_path定义和预期结果。谢谢。 – Freddie
显示输出是我们需要的一半 - 显示输入。另外,还可以在要更改的行的周围显示几行上下文,因为更改要更改的部分通常很简单,但很难更改其他不需要更改的部分。 –