私は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.
だからあなたが書いたコメントはコードではありません。