これはかなり初心者の質問ですが、私がやろうとしていることはとても簡単です。開発環境のインストールを自動化するスクリプトを作成していますが、次のloadmodule
Apache構成ファイルに注釈を付ける必要があります。私のLinuxマシン。
LoadModule mpm_event_module modules/mod_mpm_event.so
次のコマンドを使用してコメントを削除できました。
sudo sed -i '66s/.//' /etc/httpd/conf/httpd.conf
答え1
コメントを挿入:
sed 's/^ *LoadModule/#&/' /etc/httpd/conf/httpd.conf
コメントを削除:
sed '/^ *# *LoadModule/s/#//' /etc/httpd/conf/httpd.conf
またはスペースを削除します。
sed '/^ *# *LoadModule/s/^ *# *//' /etc/httpd/conf/httpd.conf
特定の行番号にのみ置換(挿入または削除)を適用します。 (自動インストールを実行するためのスクリプトを開発したい場合は良い考えではありません。)
# Apply on line 66 only
sed '66ba;p;d;:a /^ *# *LoadModule/s/^ *# *//' /etc/httpd/conf/httpd.conf
または(同じですが、-e
他の人にも移植可能sed
):
sed -e '66ba' -e 'p;d;:a' -e ':a' -e '/^ *# *LoadModule/s/^ *# *//' /etc/httpd/conf/httpd.conf
または
sed '66{/^ *# *LoadModule/s/^ *# *//}' /etc/httpd/conf/httpd.conf
一致を適用せずに固定行番号のみを編集するには、次のようにします。
# Insert comment on line 66
sed '66s/^/#/' /etc/httpd/conf/httpd.conf
# Remove comment on line 66
sed '66s/^#//' /etc/httpd/conf/httpd.conf
# Remove spaces too
sed '66s/^ *# *//' /etc/httpd/conf/httpd.conf
構成ファイルは次のように処理されます。
(入れる)
LoadModule foo
LoadModule bar
(削除する):
#LoadModule foo
#LoadModule bar
# LoadModule baz
# LoadModule bax
答え2
Vimを使用してこれを行うこともできます。
vim -c '/LoadModule/s/^/#/|x' httpd.conf