파일 데이터의 일부를 다른 파일의 데이터로 바꾸고 싶습니다.
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