텍스트 파일이 있다고 상상해 보세요. 이 파일에 동일한 패턴(예 <br>
: )이 N 줄 연속으로 있는지 알고 싶으면 처음 3줄과 마지막 3줄을 삭제해야 합니다. 이 삭제 부분을 어떻게 해야 하는지 알 수 있을 것 같은데, 이 모달 매직을 구현하는 방법을 모르겠습니다.
시각화에 적합:
Foo <br>
Bar <br>
Baz <br>
<br>
이는 파일에서 기본적으로 일관된 패턴입니다. 그러나 때로는 나중에 파일을 적절하게 처리할 수 있도록 제거해야 하는 항목이 나타나는 경우가 있습니다.
1 Not good Foo <br>
2 <br>
3 <br>
4 <br>
5 Dirt <br>
6 <br>
줄 번호를 추가했습니다.
여러 번의 연속적인 중단이 있다는 점만 비종양성 패턴과 다릅니다. 따라서 3행에서 이것이 종양 세그먼트라는 것을 알게 되면 1행부터 6행까지 삭제해야 합니다.
따라서 결론은 다음과 같습니다. <br>
행에 2개의 행이 표시될 때마다 처음 2개 행, 현재 행 및 다음 3개 행을 삭제합니다.
답변1
귀하의 요구 사항을 올바르게 읽었다면 Vim에서 파일을 열고 다음을 입력하여 원하는 결과를 얻을 수 있습니다.
:g/^<br>\n<br>$/-1,+4d
그런 다음 "Enter"를 누르십시오.
ex
스크립트를 작성해야 한다면 그렇게 할 수도 있습니다.
예:
앞으로:
Some line
Not good Foo <br>
<br>
<br>
<br>
Dirt <br>
<br>
Some additional line
뒤쪽에:
Some line
Some additional line