Vi 편집기: 파일에서 여러 줄을 삭제하는 가장 빠른 방법은 무엇입니까?

Vi 편집기: 파일에서 여러 줄을 삭제하는 가장 빠른 방법은 무엇입니까?

Vi 편집기를 사용하여 파일에서 여러 줄을 삭제하고 싶습니다. 아이디어나 제안을 주세요.

내 목표는 다음과 같습니다.

앞으로:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
.
.
29
30
.
.

뒤쪽에;

1
10
20
30
40
.
.

답변1

10개 행마다 유지하고 나머지는 삭제하려면 다음을 수행하세요.

%norm 9ddj

설명하다:

%전체 파일

norm"일반 모드"에서 다음 명령을 실행하십시오.

9dd9줄 삭제

j한 행 아래로 이동(즉, 그대로 유지)

노트:그러면 첫 번째 줄이 삭제됩니다.

에서 적응http://www.rayninfo.co.uk/vimtips.html


또는 전역 명령을 사용하십시오.

  • 첫 번째 줄 복사ggYP
  • :g/^/+ d9

에서 적응https://stackoverflow.com/questions/1946738/vim-how-to-delete-every-second-row


또는 다음을 사용할 수 있습니다 awk.

%!awk 'NR \% 10 == 0 || NR == 1'

답변2

:2,$v/0$/d

0두 번째 줄부터 시작하여 끝나지 않고 삭제합니다.

관련 정보