linuxで設定ファイルを自動編集する方法

yum installした後にviでconfファイルを編集するのが面倒。それを自動化する手順メモ。



perlで特定の行を置換して実現


設定ファイルの特定の行の編集は、perlを使って置換するのが一番簡単そう。sedを使うこともできるけど、perlの方が柔軟に実現できる。


*.conf系のファイルはrootしか書き込めないことが多いので先頭にsudoを付けています。


# 特定の行を置換する場合
sudo perl -p -i.bak -e 's/[置換元の正規表現]/[置換後の文字列]/g' /etc/something.conf

# 上記のperlの結果を元に戻す方法
sudo mv /etc/something.conf.bak /etc/something.conf


標準出力の結果をsudoで追記する


特定行の編集ではなく単に追記したい場合は下記の方法が簡単。


sudo sh -c "echo 'aaa' >>/etc/something.conf"

# teeでも同じ事ができます

echo 'aaa' | sudo tee -a /etc/something.conf


参考リンク


テキストファイル内の特定文字列を一括置換させたい~Perl編~

sudoでリダイレクトをしたいとき


今回の記事と関係ないけどsedを使った行選択が便利そうだったのでついでにメモ。


指定した範囲の行を取得する方法

sedで指定した行を削除する方法


著者プロフィール
Webサイトをいくつか作っています。
著者プロフィール