[regex] 정규식 : “도움말”등을 포함하는 줄을 제거하십시오

명령에 대한 긴 문서가 있습니다. 메모장 ++ 또는 정규식을 사용하여 keyboard_help 등을 포함하여 “help”가 포함 된 모든 줄을 삭제하고 싶습니다.

어떻게 할 수 있습니까?



답변

이것은 메모장 ++에서도 가능합니다.

  • 검색 메뉴 Ctrl+로 이동 F하여 마크 탭을 엽니 다 .
  • 책갈피 줄을 확인하십시오 ( 현재 버전으로 마크 탭 업데이트 가없는 경우 ).

  • 검색어를 입력하고 모두 표시를 클릭하십시오

    • 검색어가 포함 된 모든 줄에 책갈피가 지정됩니다.
  • 이제 검색북마크북마크 된 줄 제거 메뉴로 이동 하십시오.

  • 끝난.


답변

메모장 ++에서이를 수행하는 또 다른 방법은 찾기 / 바꾸기 대화 상자와 정규식을 사용하는 것입니다.

  • Ctrl+ h찾기 바꾸기 대화 상자를 불러옵니다.

  • 에서 Find what:: 텍스트 상자에 정규식을 포함 .*help.*\r?\n합니다 (이 \r파일이 윈도우 라인 엔딩이없는 경우 선택 사항입니다).

  • Replace with:텍스트 상자를 비워 두십시오 .

  • 검색 모드 영역의 정규식 단일 선택 단추가 선택되어 있는지 확인하십시오. 그런 다음 클릭 Replace All하고 짜잔! 검색어 help가 포함 된 모든 줄 이 삭제되었습니다.

N ++의 사용법 줄 바꾸기


답변

쉬운 작업 grep:

grep -v help filename

추가]은 > newFileName새 파일로 출력을 리디렉션합니다.


최신 정보

명확히하기 위해 정상적인 동작은 화면에 선을 인쇄하는 것입니다. 파일로 파이프하기 위해 >사용할 수 있습니다. 따라서이 명령에서

grep -v help filename > newFileName
  1. grepgrep분명히 프로그램을 호출
  2. -v출력을 반전시키는 플래그입니다. defaulf에 의해 grep주어진 패턴과 일치하는 선을 인쇄합니다. 이 플래그를 사용 하면 패턴과 일치 하지 않는 행을 인쇄합니다 .
  3. help 일치하는 패턴입니다
  4. filename 입력 파일의 이름입니다
  5. > 출력을 다음 항목으로 리디렉션
  6. newFileName 출력이 저장 될 새 파일

알다시피 파일의 내용은 삭제되지 않습니다. grep그것을 읽고 다른 파일이 저장되고 그에 따라 수정됩니다.


답변

sed를 사용 하여이 작업을 수행 할 수 있습니다. sed '/help/ d' < inputFile > outputFile


답변

정규식으로 검색 :

^.*(help).*$


답변

이 경우 Windows에서 시도 findstr. 타사 도구는 필요하지 않습니다.

findstr /V /L "searchstring" inputfile.txt > outputfile.txt

정규식도 지원합니다! 도구의 도움말을 읽으십시오 findstr /?.

PS 당신이 큰 작업 할 경우 거대한 (4백메가바이트 로그 파일 등) 파일은 텍스트 편집기 사람이 이미 지적했듯이, 명령 줄 도구가 이동하는 방법, 그래서 매우 메모리 효율적이지 않습니다. 그러나 Windows에는 grep이 없으므로 …

방금 1GB 로그 파일에서 이것을 실행했으며 문자 그대로 3 초가 걸렸습니다.


답변