How to match a single quote in sed如果表达式用单引号引起来,则如何匹配sed中的单引号:
例如需要匹配此文本:
您可以使用:
要么
我使用了unicode字符名称。 RESOLE SOLIDUS通常被称为反斜杠。 在后一种情况下,您可以关闭撇号,然后用反斜杠对您的撇号进行shell引用,然后为其余的文本打开另一个撇号。 正如对该问题的评论所指出的那样,它实际上与sed无关,而是如何在外壳程序(例如bash)中用引号引起来的字符串中包含引号。 为了弄清楚先前的答案,您需要在反引号前加上反斜杠,但是不能在单引号中使用引号。从bash手册页:
因此,您需要终止带引号的表达式,插入转义的引号,然后启动新的带引号的表达式。 Shell的引号删除不会添加任何额外的空格,因此实际上您会得到字符串连接。 因此,要回答有关如何对表达式" foo"单引号的原始问题,您可以执行以下操作:
(其中" ..."是sed表达式的其余部分)。 总体而言,出于可读性考虑,如果可能的话,最好将周围的引号更改为双引号:
[作为第一种(单引号)方法潜在的维护噩梦的示例,请注意StackOverflow的语法高亮显示了引号,反斜杠和其他文本的颜色-绝对不正确。] |