簡體   English   中英

Sed 替換以特殊字符開頭的字符串

[英]Sed replace strings starts with special characters

我正在嘗試用 sed 替換字符串; php_value[date.timezone] = Europe/Riga ; php_value[date.timezone] = Europe/Riga

我試過這樣的事情:

sed -i 's/; php_value[date.timezone] = Europe/\Riga/; php_value[date.timezone] = America/\Sao_Paulo/g' file

Output:sed:-e 表達式 #1,字符 47:命令后的額外字符

您可以使用

sed -i 's/; php_value\[date\.timezone] = Europe\/Riga/; php_value[date.timezone] = America\/Sao_Paulo/g' file

請參閱在線演示

注意

  • [. 是特殊的正則表達式元字符,需要轉義以匹配文字[. ,因此, \[\. 在正則表達式部分
  • /在這里是正則表達式分隔符 char,也應該轉義。 要轉義/ ,請使用\/ 好吧,如果你使用另一個正則表達式分隔符字符,你將不需要 escaping / ,例如
sed -i 's,; php_value\[date\.timezone] = Europe/Riga,; php_value[date.timezone] = America/Sao_Paulo,g' file

在此處將逗號視為正則表達式分隔符。

暫無
暫無

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

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