Programming

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

procodes 2020. 8. 19. 21:12
반응형

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

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


다음을 수행하는 것이 좋습니다.

  1. 중 검색 *커서 아래, 또는 표준 무엇을위한 "제한된 검색"할 /pattern검색합니다.
  2. :%s///gn발생 횟수를 가져 오는 데 사용 합니다. 또는을 사용 :%s///n하여 발생이있는 행 수를 가져올 수 있습니다 .

** 저는 모든 검색에서 " N 2 라인 에서 N 1 일치"메시지를 제공하는 플러그인을 찾을 수 있었지만 아쉽습니다.

참고 : 출력의 까다로운 표현에 혼동하지 마십시오. 전자의 명령은 4 matches on 3 lines후자가 당신에게 줄 수있는 것과 같은 것을 줄 수 있습니다 3 matches on 3 lines. 기술적으로는 정확 하지만 후자는 오해의 소지가 있으며 '3 줄 일치'라고 말해야합니다. 따라서 보시다시피 후자 ( 'n'전용) 형식을 사용할 필요가 전혀 없습니다. 'gn'양식을 사용하면 동일한 정보를 더 명확하게 얻을 수 있습니다.

참고 URL : https://stackoverflow.com/questions/715643/search-for-string-and-get-count-in-vi-editor

반응형