file.bak
次のコマンドを使用して追加しようとしましたfile.php
。
sed r file.php file.bak
必要に応じて正しい出力を提供します。ただし、file.bak
に追加して保存しませんfile.php
。
どうすればいいのかご存知ですか?
ベストアンサー1
これは必要ありませんsed
。以下を使用すれば十分ですcat
。
cat file.bak >>file.php
これで内容がfile.bak
最後に追加されますfile.php
。
プログラムは内容を標準出力に出力しますsed
。r file.php
file.php
各入力ラインについて。file.bak
複数の行がある場合は、複数のfile.php
挿入コピーが作成されます。
sed
データを追加するために使用したい場合は、これは望むものではありません。
代わりに、cat
ここがより良いという事実を無視してください、
sed '$r file.bak' file.php
file.bak
最後の行に達するまで読み込まれませんfile.php
。これは両方のファイルの内容を連結する効果があります(最初の内容file.php
、次の内容file.bak
)。
結果を書き換えるには、file.php
出力を新しいファイルにリダイレクトしてから、安全な方法でその場所に移動できます。
sed '$r file.bak' file.php >tmpfile && mv tmpfile file.php
-i
または、一部の実装sed
にあるオプションを(安全でない方法で)使用することもできます。
sed -i '$r file.bak' file.php