메모장 ++에서 grep와 같은 기능을 원합니다.
가장 간단한 버전에서는 단어가 포함 된 현재 버퍼의 모든 줄을 foo
새 버퍼 에 복사 할 수 있기를 원합니다 . TextFX 플러그인을 사용하여 모든 줄을 숨기고 숨길 foo
수는 있지만 원하는 모든 것을하지는 않습니다 ( Alt- 에서 잃어 버렸습니다 Tab. 일치하는 줄만 복사 할 수는 없습니다).
메모장 ++에서 grep와 같은 기능을 원합니다.
가장 간단한 버전에서는 단어가 포함 된 현재 버퍼의 모든 줄을 foo
새 버퍼 에 복사 할 수 있기를 원합니다 . TextFX 플러그인을 사용하여 모든 줄을 숨기고 숨길 foo
수는 있지만 원하는 모든 것을하지는 않습니다 ( Alt- 에서 잃어 버렸습니다 Tab. 일치하는 줄만 복사 할 수는 없습니다).
답변:
Ctrl+ F-> 표시 탭으로 이동 -> 책갈피 줄 토글 -> 모두 표시를 클릭하십시오 .
메뉴 검색 -> 책갈피 -> 책갈피 된 행 복사를 선택하십시오 .
나는 단지 같은 질문을 조사했다. 당신이 알고 있는지 잘 모르겠습니다. 찾기 대화 상자 에서 현재 문서에서 모두 찾기 를 누르면 맨 아래에 일치하는 선이 표시되는 창이 나타납니다. 그런 다음이를 새 문서에 복사 할 수 있습니다.
불행히도 결과에 몇 가지 관련없는 정보 (행 번호 등)가 포함되어 있지만 열 모드를 사용하여 필터링 할 수 있습니다.
또 다른 좋은 해결책은 NppExec 플러그인을 사용하여 메모장 ++에 grep 명령을 추가하는 것입니다.
"책갈피"솔루션의 주요 장점은 특히 대용량 파일의 경우 훨씬 빠르게 실행되며 원본 파일을 수정할 필요가 없다는 것입니다. 메모장 ++에서이 기능을 사용하려면 작은 스크립트를 한 번 작성해야합니다.
내 솔루션 예제는 Windows 용이며 findstr을 사용합니다. findstr 은 모든 Windows 컴퓨터에서 사용할 수있는 grep와 같은 명령 도구입니다. 그러나 원하는 다른 grep clone 을 사용할 수도 있습니다 .
1 단계 : NppExec 플러그인 설치
로 이동하여 Plugins / Plugin Manager / Show Plugin Manager
NppExec으로 아래로 스크롤 한 후이 플러그인을 선택하고 설치를 클릭하십시오. 설치 프로세스를 완료하기 위해 Notepad ++를 다시 시작해야 할 수도 있습니다.
2 단계 : NppExec을위한 작은 스크립트 만들기
로 이동 Plugins / NppExec / Execute
하여 다음 스크립트를 입력하고 "grep"으로 저장하십시오.
SET local OUTFILE = "c:\temp\$(FILE_NAME).temp"
INPUTBOX "Input filter string"
cmd /c findstr $(INPUT) "$(FULL_CURRENT_PATH)" >$(OUTFILE)
NPP_OPEN $(OUTFILE)
(OUTFILE 경로가 환경에 맞는지 다시 확인하십시오)
3 단계 : 스크립트 메뉴 항목 추가 (선택 사항)
로 이동하여 Plugins / NppExec / Advanced Options
아래에서 "grep"스크립트를 선택하고 Associated script
확인을 클릭하여 저장하십시오. NppExec에서 요청한대로 메모장을 다시 시작하여 새 메뉴 항목 추가를 완료하십시오.
4 단계 : 스크립트 바로 가기 추가 (선택 사항)
로 이동하여 Settings / Shortcut Mapper / Plugin commands
아래로 스크롤하여 스크립트 명령 "grep"을 찾은 다음 바로 가기를 정의하십시오. 예 :ALT-G
$(FULL_CURRENT_PATH)
파일이 아직 저장되지 않은 경우 경로를 반환하지 않습니다. 어딘가에 (temp directory?) 상주 할 수는 있지만 실제로는 그렇지 않습니다. 이 저장되지 않은 파일 상황은 매우 일반적 일 수 있습니다. 로그에서 무언가를 붙여 넣기 만하면 파일이 아직 저장되지 않은 경우 파일을 저장하기 위해이 스크립트를 완벽하게 만들 수 있습니다. 잡기 전에 수동으로. 감사.
5 단계 : 빠른 저장 및 grep 문서를위한 스크립트 작성
플러그인 / NppExec / 실행으로 이동하여 다음 스크립트를 입력하고 "grep"으로 저장하십시오.
SET 로컬 AUTOSAVEFILE = "% tmp % \ NpPPautosave.tmp"
SET 로컬 OUTFILE = "% tmp % \ NpPPautosaveToGrep.temp"
NPP_SAVEAS "% tmp % \ NpPPfile.tmp"
INPUTBOX "GREP에 대한 입력 문자열"
cmd / c findstr $ (INPUT ) $ (AUTOSAVEFILE)> $ (OUTFILE)
NPP_OPEN $ (OUTFILE)
findstr
현재 파일이 아니라 자동 저장 파일 에서 실행 하면 어떤 이점이 있습니까? (6) 왜 대답은 사용합니까 모두 C:\temp
와 C:\tmp
? …… 의견에 응답하지 마십시오. 명확하고 완전하게 답변을 편집 하십시오.
grep -v
도 '북마크 된 줄을자를'수 있습니다 .