bashファイルを作成し、sedを使用して他のファイルを編集しています。次の行の後に新しい行を追加したいと思います。
echo "rpcallowip=127.0.0.1\n";
追加された行は次のように表示されます。
echo "rpcallowip=$webip\n";
新しい出力はexample.conf
次のとおりです。
echo "rpcallowip=127.0.0.1\n";
echo "rpcallowip=10.0.0.1\n";
図に示すように、行が ""に保たれることが重要です。
ベストアンサー1
file
コンテンツを含むファイルがあるとしましょう。
text
text text
echo "rpcallowip=127.0.0.1\n";
text
text text
echo
行の後に行を追加するには、次のコマンドを使用しますsed
。
sed '/^echo "rpcallowip=127.0.0.1\\n";$/a\
echo "rpcallowip=$webip\\n";
' file
GNUの使用sed
:
sed '/^echo "rpcallowip=127.0.0.1\\n";$/a echo "rpcallowip=$webip\\n";' file
どちらの例も、最初にテキストを追加するテキスト行を最初から最後まで一致させ、次にコマンドsed
(「append」)を使用してa
必要なテキストを追加します。パターンと挿入されたテキストの両方でinをもう一度エスケープする必要があり\
ます\n
(そしてもう少し賢明に言えば、パターンのIPアドレスのすべての点は必要です\.
)。
上記の作業の結果は次のとおりです。
text
text text
echo "rpcallowip=127.0.0.1\n";
echo "rpcallowip=$webip\n";
text
text text