원본 파일
.
.
.
startpattern
text to copy 1
test to copy 2
endpattern
.
.
.
thirdpattern
결과 파일
.
.
.
startpattern
text to copy 1
test to copy 2
endpattern
.
.
.
thirdpattern
text to copy 1
test to copy 2
.
.
.
답변1
이는 스크립트 가능한 편집기에서는 매우 간단해 보입니다 ed
. 핵심 명령은 다음과 같습니다.
/startpattern/+1, /endpattern/-1 t /thirdpattern/
명령줄을 사용하여 파일을 변경할 수 있습니다.
printf '%s\n' '/startpattern/+1, /endpattern/-1 t /thirdpattern/' w q | ed -s filename
... ed
주 명령, w
rite 명령, q
uit 명령 등 세 가지 명령을 입력 버퍼에 파이프합니다.
올바른 라인을 캡처할 수 있도록 각 패턴의 정규식을 강화해야 합니다. 처음 두 패턴의 +1 및 -1은 일치 항목을 앞뒤로 조정하여 해당 두 패턴이 있는 라인을 제외합니다.