我想使用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
顯示輸出是我們需要的一半 - 顯示輸入。另外,還可以在要更改的行的周圍顯示幾行上下文,因爲更改要更改的部分通常很簡單,但很難更改其他不需要更改的部分。 –