簡體   English   中英

Sed regex命令替換

[英]Sed regex command replacement

在我的php.ini中

error_reporting = E_ALL

我想把它改回來

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

使用sed命令

sed -i "s/^error_reporting = .*/error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT/" /etc/php5/apache2/php.ini

我得到了不同的結果:

error_reporting = E_ALL error_reporting = E_ALL ~E_DEPRECATED error_reporting = E_ALL ~E_STRICT

但它應該是

error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT

順便說一下,sed命令是一個bash腳本。

&在sed s命令的替換子句中有特殊含義; 它被匹配的字符串替換。 你必須逃脫它:

sed -i 's/^error_reporting = .*/error_reporting = E_ALL \& ~E_DEPRECATED \& ~E_STRICT/' /etc/php5/apache2/php.ini

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM