sed / awkを使用してファイルの特定の行の後のすべてのテキストを他のテキストファイルの内容に置き換えるにはどうすればよいですか?

sed / awkを使用してファイルの特定の行の後のすべてのテキストを他のテキストファイルの内容に置き換えるにはどうすればよいですか?

現在、ソース_file.txtというファイルのテキストを自動的に更新しようとしています。ファイルが次のようになると想像してください。

common_text
### REPLACE EVERYTHING AFTER THIS LINE ###
text_that_will
be_removed
after_the_command

このファイルは、「この行の後のすべての項目を置き換える」以降のすべてのテキストを削除し、ファイルのテキストに置き換える方法で更新されます。file.txtの置き換え。この資料では replacement_file.txt に次のテキストがあると仮定します。

testing123
this_is_the_replacement_text

sedを使用して見つけたものから、特定のフレーズの後の残りの行を編集する方法のみを見つけることができます。代替フレーズの後ろのOriginal_file.txtのテキストをreplacement_file.txtのすべてのテキストに置き換えたいと思います(今後の更新のために代替行テキストを保持したい)。 Original_file.txt は次のように表示されます。

common_text
### REPLACE EVERYTHING AFTER THIS LINE ###
testing123
this_is_the_replacement_text

よろしくお願いします!

ベストアンサー1

GNU/awkから:

これら2つのファイルパラメータの名前を指定してください。

awk '{ print; } /^### REPLACE EVERYTHING AFTER THIS LINE ###$/ { nextfile; }' fn1 fn2

おすすめ記事