替换模式匹配

替换模式匹配

我想用另一个文件中的数据替换文件的部分数据。

假设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

相关内容