[search] vi 편집기에서 문자열 검색 및 개수 가져 오기

vi 편집기를 사용하여 문자열을 검색하고 파일에서 발생 횟수를 찾고 싶습니다.



답변

:g/xxxx/d

이렇게하면 패턴이있는 모든 줄이 삭제되고 삭제 된 줄 수가보고됩니다. 나중에 되돌리려면 실행 취소하십시오.


답변

방법은

: % s / 패턴 // gn


답변

n깃발 이 필요합니다 . 단어를 계산하려면 다음을 사용하십시오.

:%s/\i\+/&/gn

그리고 특정 단어 :

:%s/the/&/gn

count-items문서 섹션을 참조하십시오 .

간단히 입력하면 :

%s/pattern/pattern/g

그런 다음 상태 줄은 vi에서 일치하는 수를 제공합니다.


답변

: % s / string / string / g가 답을 줄 것입니다.


답변

(구스타보가 말한 것과 비슷하지만 추가적으로 🙂

어떤을 위해 이전에 검색, 당신은 간단하게 할 수 있습니다 :

:%s///gn

패턴이 이미 검색 레지스터 ( @/)에 있으므로 필요하지 않습니다 .

“%”- s/전체 파일에서 수행
“g”-전역 검색 (한 줄에 여러 히트 포함)
“n”-대체 방지 s/아무것도 삭제되지 않습니다! 취소 할 수 없습니다!
( :help s_flag자세한 내용 은 참조 )

(이렇게하면 vim-wikia tip171에 설명 된대로 ” 시각적으로 선택된 텍스트 검색 “과 완벽하게 작동합니다. )


답변

사용하다

: % s / 패턴 / \ 0 / g

패턴 문자열이 너무 길고 다시 입력하고 싶지 않을 때.


답변

짧은 대답 :

: % s / 검색 할 문자열 // gn

학습 :

VI 편집기에는 아래와 같이 3 가지 모드가 있습니다.
여기에 이미지 설명 입력

  • :당신은에서 입력하는 CommandCommand-line모드. 이제, 당신이 작성한 것은 :CLI (Command Line Interface)에 있습니다.
  • %s모든 행을 지정합니다. 범위를 지정하는 %것은 전체 파일에서 대체 를 의미합니다. 모든 발생 대체 구문은 다음과 같습니다.:%s/old-text/new-text/g
  • g행의 모든 ​​항목을 지정합니다. 로 g플래그, 당신은 전체 라인을 대체 할 수 있습니다. 이 g플래그를 사용하지 않으면 줄의 첫 번째 항목 만 대체됩니다.
  • n 발생 횟수를 출력하도록 지정합니다.
  • //이중 슬래시는 replacement text. 우리는 단지 찾고 싶기 때문입니다.

발생 횟수가 확인되면 N키를 눌러 발생 횟수를 하나씩 볼 수 있습니다 .

특정 범위의 행 번호 1에서 10을 찾고 계산하는 경우 :

: 1,10 초 / 안녕하세요 // gn

  • , 유의하시기 바랍니다 %전체 파일에 의해 교체되었습니다됩니다에 대한 ,분리 된 줄 번호.

특정 범위의 행 번호 1에서 10을 찾고 바꾸려면 :

: 1,10 초 / 헬로 / 안녕하세요 / gn