sed
ファイルの編集にどのように使用できますか/etc/heat/heat.conf
?
基本セクションに新しい行を追加したいと思います。
[DEFAULT]
rabbit_host =controller
rabbit_password =RABBIT_PASS
答え1
/regexp/
アドレスを使用して埋め込み行を検索し、追加[DEFAULT]
(a
)コマンドを使用してその下に行を追加できます。ファイルをその場所で変更するには、に-i
渡します。 (正しい操作を実行するかどうかを確認するために、最初に実行せずに実行したい場合があります。実際に変更せずに変更されたファイルがどのように見えるかを出力します):sed
# sed -i '/^\[DEFAULT\]$/a rabbit_host =controller\nrabbit_password =RABBIT_PASS' /etc/heat/heat.conf
答え2
/tmp/a
contnetを含むファイルがある場合
hello my friend
sed を使用して文字列を置き換えることができます。
sed -i 's/hello/hi/g' /tmp/a
結果は次のとおりです。
hi my friend
望むより:man sed
sed
次のコマンドを使用して、ファイルに欠落している行を追加することもできます>>
。
echo "I like you">>/tmp/a
答え3
依頼者が今まで解決策を見つけたと確信しています。でも、万が一の場合に備えて。
この要求は、すべての主要なLinuxバージョンで利用可能なcrudiniアプリケーションに最適です。たとえば、DEFAULT
次のセクションに1行を追加します。/etc/heat/heat.conf
crudini --set /etc/heat/heat.conf DEFAULT mysetting true
この部分:
[DEFAULT]
rabbit_host =controller
rabbit_password =RABBIT_PASS
mysetting = true
confファイルにすでにエントリがある場合は更新されます。
答え4
昔のed
方法
ed -s test <<EOF
/^\[DEFAULT\]$/
a
rabbit_host =controller
rabbit_password =RABBIT_PASS
.
w
q
EOF