ファイルデータの一部を他のファイルのデータに置き換えたいです。
file1
以下のデータがあり、file2
開始単語と終了単語から始めてfile1
代替データを保存したいデータがあるとします。file2
// +++ CUSTOMIZATION SETTINGS START +++
// +++ CUSTOMIZATION SETTINGS END +++
ファイル1
ANJALI
NISHA
// +++ CUSTOMIZATION SETTINGS START +++
WE WILL BE ON LEAVE FOR TODAY
// +++ CUSTOMIZATION SETTINGS END +++
PREETI
MONA
ファイル2
MANISH
MADHVI
// +++ CUSTOMIZATION SETTINGS START +++
WELCOME ALL
// +++ CUSTOMIZATION SETTINGS END +++
NISHA
TUSHAR
希望の出力でファイル3
ANJALI
NISHA
// +++ CUSTOMIZATION SETTINGS START +++
WELCOME ALL
// +++ CUSTOMIZATION SETTINGS END +++
PREETI
MONA
答え1
解決策awk
:
$ awk -v pat="$(awk '/SETTINGS START/,/SETTINGS END/' file2)" -v p=1 '
/SETTINGS START/{p=0};p;/SETTINGS END/{print pat;p=1}' file1 > file3
ANJALI
NISHA
// +++ CUSTOMIZATION SETTINGS START +++
WELCOME ALL
// +++ CUSTOMIZATION SETTINGS END +++
PREETI
MONA