2015-11-21 58 views
0

我想使用bash shell命令(也許使用sed)從php.ini中的這些行中刪除分號中的一個分號。我會怎麼做?使用shell命令從php.ini中的行中刪除分號

;extension =php_curl.dll  
; extension=php_gd2.dll 
;extension = php_mbstring.dll 
;extension= php_openssl.dll 

我故意在這裏和那裏添加空格。

我已經試過:

sed -e "s/^;extension\s=\sphp_gd2\.dll$/extension=php_gd2\.dll/" -i php.ini 

這只是地方everyting成一條線:

;extension =php_curl.dll ; extension=php_gd2.dll;extension = php_mbstring.dll;extension= php_openssl.dll 

回答

1

這在具有一個或多個空格行的開頭刪除分號雙方

sed '/php_gd2/s/^\s\s*;\s\s*//' php.ini

可以指定您希望通過在開始時將它們放在斜線之間來操作哪個php擴展。然後,它只會在有指定的擴展

要更加選擇性線運行的替代命令,

sed '/^\s*;\s*extension\s*=\s*php_gd2.*\.dll/s/^\s\s*;\s\s*//' php.ini

+0

也許我不是太清楚。我想指定我想啓用哪個php擴展。 – NinjaFart

+0

太棒了!但是我不應該檢查這行是否以';'開頭。擴展名「,並以」 .dll「結尾,以防文本在其中例如。一條評論。 – NinjaFart

+0

可以使用'sed'/extension\s*=\s*php_gd2.*\.dll/s/^\s\s*;\s\s*//'php.ini'完成 –

相關問題