sedコマンドで設定ファイルに追記

sedコマンドで設定ファイルに指定した行に追記するときに使えそうなスクリプト

$cat script.sh
#バックアップ作成日
DATE=`date +"%Y%m%d"`

#バックアップの作成
cp -p /etc/postfix/main.cf /etc/postfix/main.cf.$DATE

#指定した文字列"#myhostname = virtual.domain.tld"の次の行に
#myhostname = hoge.domain.comを追記
sed -e "/#myhostname = virtual.domain.tld/a\myhostname = hoge.domain.com" /etc/postfix/main.cf.$DATE > /etc/postfix/main.cf

#差分確認
diff /etc/postfix/main.cf /etc/postfix/main.cf.$DATE

実行結果

$sudo ./script.sh
77d76
< myhostname = hoge.domain.com

【参考】
sed aコマンド、 iコマンドの動作(指定文字列の挿入、追加) 【Linuxコマンド】