vim 편집기에서 grep 출력 복사

vim 편집기에서 grep 출력 복사

텍스트 파일(예: 로그 파일)이 있고 vim이를 편집기에서 열고 다음 명령을 실행한다고 가정해 보겠습니다.

:g/aaa

j와 키를 이용하여 이동할 수 있는 결과가 출력되며 k, 하단으로 이동하면 Press ENTER or type command to continue녹색 문장이 나타납니다.

나는 그것을 어떻게든 이해하고 일부 명령을 사용하여 결과를 처리할 수 있지만 그것으로 무엇을 할 수 있는지 찾는 방법을 모릅니다.

내가 하고 싶은 작업 중 하나는 이 줄을 새 파일에 저장하는 것입니다.

물론 명령을 사용할 수 있습니다.

$ grep aaa file.txt > new_file.txt

그런데 vim편집자에게서 직접 구할 수 있나요?

답변1

이는 다단계 프로세스를 통해 수행될 수 있습니다.

이내에 vim:

:redir > new_file.txt
:g/aaa
:redir END

:help redir내부에서 봅니다 vim.

:redir명령은 첫 번째 명령을 수정하여 기존 파일에 추가할 수도 있습니다.

:redir >> new_file.txt

답변2

내가 하는 방법은 :ginto :v와 do 를 반대로 한 :v/pattern/d다음 결과 텍스트를 with 레지스터에 복사하고 1GVG"ry마지막으로 :vwith 를 실행 취소하는 것입니다 u. 이제 일치하는 행이 레지스터에 안전하게 저장됩니다 r.

관련 정보