如何使用哈希 (#) 作为 sed 的分隔符

如何使用哈希 (#) 作为 sed 的分隔符

我不sed经常使用这个问题,如果这个问题太简单,我深表歉意。

以下效果很好:

sed -i '/<\/IfModule>/i TEST' security2.conf

现在我想用作#分隔符。为什么这不起作用?

sed -i '#</IfModule>#i TEST' security2.conf

答案1

sed(1)的手册页写道

/regexp/匹配与正则表达式匹配的行regexp

\cregexpc匹配与正则表达式匹配的行regexp。可以c是任何字符。

因此,您可以替换/regexp/\#regexp#, 或根据您的具体情况:

sed -i '\#</IfModule>#i TEST' security2.conf

就我个人而言,我会进行测试,-i直到我确定我做对了为止。

答案2

#在手册中搜索sed(1)可能会发现

 [0addr]#
         The ``#'' and the remainder of the line are ignored (treated as a
         comment), with the single exception that if the first two charac-
         ters in the file are ``#n'', the default output is suppressed.
         This is the same as specifying the -n option on the command line.

所以你写的评论不是代码。

相关内容