gpt4 book ai didi

shell - 如何在使用 sed 时转义 & 字符

转载 作者:行者123 更新时间:2023-12-04 02:50:42 29 4
gpt4 key购买 nike

我想使用 sed 用两个单引号替换字符串中的所有单引号。但是当字符串包含 & 时字符,sed 命令不会替换后面的单引号。我怎样才能逃脱&字符,以便它后面的单引号仍然被替换?

最佳答案

你不需要逃避任何事情 在输入 :

$ echo "123 ' foo & b'ar" | sed "s/'/''/g"
123 '' foo & b''ar

但是,在 s 的“替换”部分命令 &有一个特殊的含义:它的意思是“匹配”。这就是为什么上面的命令可以重写为:
$ echo "123 ' foo & b'ar" | sed "s/'/&&/g"
123 '' foo & b''ar

\ 逃离它如果需要,就像所有其他需要转义的东西一样:
$ echo "123 ' foo & b'ar" | sed "s/'/'\&'/g"
123 '&' foo & b'&'ar

关于shell - 如何在使用 sed 时转义 & 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11307759/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com