使用shell命令

时间:2015-11-21 20:58:21

标签: bash shell sed

我想使用bash shell命令(可能使用sed)从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

这只是把每一个都放在一行:

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

1 个答案:

答案 0 :(得分:0)

这会删除在两侧有一个或多个空格的行的开头的分号

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

您可以通过将斜杠放在开头的斜杠之间来指定要操作的php扩展。然后它将仅在具有指定扩展名

的行上运行substitute命令

更具选择性,

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