我如何在sed中转义双引号? [重复]

问题描述 投票:0回答:2

此问题已经在这里有了答案:

[试图弄清楚当我正在搜索的字符串的字符串中有双引号时,如何使用sed命令替换值。

我有一个名为ABC.conf的配置文件,它列出了发行版,如下所示; “ ReleaseSequence”:1555

我想使用sed将发行版号更改为2053

我已经尝试了以下sed命令;

sed -i 's:"ReleaseSequence":.*:"ReleaseSequence": 2053:' ABC.conf

我收到错误消息;

sed: -e expression #1, char 24: unknown option to `s'

我试图用[\“],'”“”'和“”来转义双引号,但sed不喜欢其中的任何一个。

linux sed double-quotes
2个回答
0
投票

这里双引号不是问题。尽管数据也包含文字冒号,但您已使用:作为分隔符。使用其他分隔符

sed -i 's#"ReleaseSequence":.*#"ReleaseSequence": 2053#' ABC.conf

或反斜杠转义冒号。


0
投票

[请您尝试使用GNU sed

sed -i.bak '/"ReleaseSequence":/s/\(.*"ReleaseSequence": \)\(.*\)/\12053/' Input_file

[i.bak选项将备份现有Input_file并将更改也保存在实际Input_file中。

© www.soinside.com 2019 - 2024. All rights reserved.