如何转义 sed 中的双引号?
How do I escape double quotes in sed?
试图找出当我正在搜索的字符串中包含双引号作为字符串的一部分时如何使用 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 不喜欢其中任何一个。
双引号不是这里的问题。尽管您的数据还包含文字冒号,但您已使用 :
作为分隔符。使用不同的分隔符
sed -i 's#"ReleaseSequence":.*#"ReleaseSequence": 2053#' ABC.conf
或反斜杠转义文字冒号。
试图找出当我正在搜索的字符串中包含双引号作为字符串的一部分时如何使用 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 不喜欢其中任何一个。
双引号不是这里的问题。尽管您的数据还包含文字冒号,但您已使用 :
作为分隔符。使用不同的分隔符
sed -i 's#"ReleaseSequence":.*#"ReleaseSequence": 2053#' ABC.conf
或反斜杠转义文字冒号。