Windows를위한 좋은 grep 도구는 무엇입니까? [닫은]


289

Windows 용 grep 도구에 대한 권장 사항이 있습니까? 64 비트 OS를 활용할 수있는 것이 이상적입니다.

물론 Cygwin을 알고 PowerGREP 도 발견 했지만 숨겨진 보석이 있는지 궁금합니다.

답변:


204

의견의 권장 사항에 따라 grepWin을 사용하기 시작했으며 환상적이고 무료 입니다.


(나는 여전히 PowerGREP 의 팬 이지만 더 이상 사용하지 않습니다.)

이미 언급했지만 PowerGREP은 대단 합니다.

내가 좋아하는 기능 중 일부는 다음과 같습니다.

  • 폴더를 마우스 오른쪽 버튼으로 클릭하여 PowerGREP을 실행하십시오.
  • 정규식 또는 리터럴 텍스트 사용
  • 포함 및 제외 할 파일에 와일드 카드 지정
  • 검색 및 교체
  • 미리보기 모드는 원하는 것을 바꿀 수 있기 때문에 좋습니다.

이제 다른 grep 도구가 위의 모든 작업을 수행 할 수 있음을 알고 있습니다. PowerGREP은 모든 기능을 사용하기 매우 쉬운 GUI로 패키지화합니다.

당신에게 RegexBuddy 를 가져 왔고 자신의 물건을 사랑하는 것 이상으로 관계가없는 훌륭한 사람들로부터 . (RegexBuddy에는 기본 버전의 grep (Windows 용) 자체가 포함되어 있으며 PowerGREP보다 훨씬 저렴합니다.)


추가 솔루션

기존 Windows 명령

Windows에서 Linux 명령 구현

그래픽 인터페이스가있는 그렙 도구

추가 그렙 도구


4
PowerGREP처럼 사용하기 쉽고 완전한 기능을 갖춘 오픈 소스 grep GUI를 찾고 싶지만 아직 찾지 못했습니다 :). Cygwin을 설치하고 grep을 사용합니다.
Mark Biek

21
@Wells-Windows의 일반 * nix grep은 Cygwin 또는 GnuWin32를 통해 무료입니다. FindStr 및 Find도 Windows와 함께 제공됩니다. 훌륭한 GUI, 교체 기능 및 통합 실행 취소 기능 및 기타 많은 기능을 사용하십시오.
Mike Clark

11
@Wells, @Mike Clark, @Mark Biek :이 답변이 게시 될 때 Windows 용 무료 GUI grep 도구가 없었을 가능성이 있지만 더 이상 사실이 아닙니다. grepWin에는이 답변에 나와있는 모든 기능이 있으며 다른 경쟁 업체도있을 수 있습니다.
John Y

9
@Wells, Grep 도구가 $ 159이기 때문에 Windows를 싫어하는 것은 바닥 매트가 비싸기 때문에 자동차를 싫어하는 것과 같습니다.
md1337

9
@Wells and Upvoters : 소고기는 무엇입니까? Windows 용 기타 GREP 도구는 유닉스 / 리눅스만큼 무료입니다. 실제로 이것이 Windows 생태계에 대해 내가 좋아하는 것입니다. 주요 기준 인 경우 많은 무료이며, 생태계는 종종 PowerGREP와 같은 확장 된 기능을 탐색하도록 유료 개발자를 지원합니다. PowerGREP은 모든 사람의 차가 아닐 수도 있지만 (때로는 UI가 압도적 임), 정교함에는 유용성이 있습니다.
gwideman

322

FINDSTR 은 상당히 강력하고 정규식을 지원하며 이미 모든 Windows 시스템에 있다는 이점이 있습니다.

c:\> FindStr /?

Searches for strings in files.

FINDSTR [/B] [/E] [/L] [/R] [/S] [/I] [/X] [/V] [/N] [/M] [/O] [/P] [/F:file]
        [/C:string] [/G:file] [/D:dir list] [/A:color attributes] [/OFF[LINE]]
        strings [[drive:][path]filename[ ...]]

  /B         Matches pattern if at the beginning of a line.
  /E         Matches pattern if at the end of a line.
  /L         Uses search strings literally.
  /R         Uses search strings as regular expressions.
  /S         Searches for matching files in the current directory and all
             subdirectories.
  /I         Specifies that the search is not to be case-sensitive.
  /X         Prints lines that match exactly.
  /V         Prints only lines that do not contain a match.
  /N         Prints the line number before each line that matches.
  /M         Prints only the filename if a file contains a match.
  /O         Prints character offset before each matching line.
  /P         Skip files with non-printable characters.
  /OFF[LINE] Do not skip files with offline attribute set.
  /A:attr    Specifies color attribute with two hex digits. See "color /?"
  /F:file    Reads file list from the specified file(/ stands for console).
  /C:string  Uses specified string as a literal search string.
  /G:file    Gets search strings from the specified file(/ stands for console).
  /D:dir     Search a semicolon delimited list of directories
  strings    Text to be searched for.
  [drive:][path]filename
             Specifies a file or files to search.

Use spaces to separate multiple search strings unless the argument is prefixed
with /C.  For example, 'FINDSTR "hello there" x.y' searches for "hello" or
"there" in file x.y.  'FINDSTR /C:"hello there" x.y' searches for
"hello there" in file x.y.

Regular expression quick reference:
  .        Wildcard: any character
  *        Repeat: zero or more occurances of previous character or class
  ^        Line position: beginning of line
  $        Line position: end of line
  [class]  Character class: any one character in set
  [^class] Inverse class: any one character not in set
  [x-y]    Range: any characters within the specified range
  \x       Escape: literal use of metacharacter x
  \<xyz    Word position: beginning of word
  xyz\>    Word position: end of word

사용법 예 : findstr text_to_find *또는 재귀 적으로 검색findstr /s text_to_find *


2
FINDSTR에없는 것은 문자열을 포함하는 줄 수만 표시하는 옵션입니다. (grep -c와 같이) 이것이 필요한 경우 FIND / C를 사용할 수 있습니다.
Ra.

2
FINDSTR 파워 백을 원하고 패턴이 정규식이 아닌 경우 항상 약간의 반복으로 두 명령을 함께 연결할 수 있습니다. findstr / s ".ini"* .rlog | / c ".ini"찾기
Ray Hayes

10
Findstr은 완전히 RegEx를 지원하지 않습니다.
caltuntas

5
.. 원래 게시물은 RegEx를 구체적으로 요구하지 않았습니다!
Ray Hayes

24
OK findstr 다른 주석가들이 지적했듯이 grep되지 않습니다. 그러나 나는 그것이 존재한다는 것을 몰랐기 때문에 그것을 게시 한 좋은 선생님에게 +1했습니다!
T.Rob

107

GrepWin 무료 및 오픈 소스 (GPL)

여기에 이미지 설명을 입력하십시오나는 tortoisesvn 녀석 중 한 명이 작성한 grepWin을 사용하고 있습니다. Windows에서 작업을 수행합니까?

http://stefanstools.sourceforge.net/grepWin.html


2
그리고 그것은 무료이며 PowerGrep이 제대로 수행 할 수없는 숨겨진 디렉토리 / 파일을 검색 할 수 있습니다 ...
Jérôme Verstrynge

3
명령 행 인터페이스가없는 것 같습니다.
Andreas Haferburg

2
좋지만 한 줄의 컨텍스트 만 제공하므로 전체 검색이 완료 될 때까지 해당 컨텍스트를 볼 수 없습니다.
Matthew Lock

2
멋지고 간단한 도구 인 것 같습니다. 그러나 파일에 결과가 필요했고 내보낼 옵션을 제공하지 않는 것 같습니다. 그런 이유로 나는 AstroGrep과 함께 갔다.
Ross

pdf로 검색하지 않음
JinSnow

53

2013 년 7 월 업데이트 :

Windows에서 항상 사용하는 또 다른 grep 도구는 AstroGrep입니다 .

AstroGrep 굉장

줄 검색 (즉, 명령 줄 grep의 --context = NUM) 이상을 보여주는 기능은 매우 중요합니다.
그리고 빠릅니다. SSD 드라이브 가 아닌 오래된 컴퓨터에서도 매우 빠릅니다 ( 플래터 라고 불리는 회전하는 디스크 로이 하드 드라이브를 사용 했습니까?

공짜 야.
휴대 가능합니다 (압축 풀기위한 간단한 zip 아카이브).


원문 2008 년 10 월

대체 텍스트그누 그렙 은 괜찮아

예를 들어 여기에서 다운로드 할 수 있습니다. ( site ftp )

모든 일반적인 옵션 이 여기에 있습니다.

gawkxargs ( GnuWin32의 'find'포함) 와 결합 하면 Unix에서와 마찬가지로 스크립트 할 수 있습니다!

재귀 적으로 grep하기 위해 사용 하는 옵션 도 참조하십시오 .

grep --include "*.xxx" -nRHI "my Text to grep" *

Windows 버전에서 10MB 텍스트 파일을 처리 할 수없는 것처럼 Gnu Grep의 대체품을 찾기 시작했습니다. 그것은 단지 거기에 앉아 아무것도 발견하지 않은 척합니다. 파일 크기를 줄이면 작동하기 시작합니다.
Peter M

안녕하세요 VonV, "일반 옵션"의 링크가되었습니다 : 404-페이지를 찾을 수 없습니다. 답변 수정을 고려하십시오.
eeerahul

1
@eeerahul 링크가 복원되고 예제가 추가됨
VonC

AstroGrep은 훌륭하지만 안타깝게도 현재 '찾기 및 바꾸기'기능이 없어 거래를
차단할 수 있습니다

"대체"기능이 부족합니다
XristosK

30

PowerShell의 Select-String cmdlet은 v1.0에서는 좋지만 v2.0 에는 훨씬 좋습니다 . PowerShell을 최신 버전의 Windows에 기본 제공한다는 것은 무언가를 설치하지 않고도 항상 유용한 기술입니다.

Select-String에 추가 된 새 매개 변수 : Select-String cmdlet은 이제 다음과 같은 새 매개 변수를 지원합니다.

  • -컨텍스트 : 매치 라인 전후에 라인을 볼 수 있습니다
  • -AllMatches : 한 줄에서 모든 일치 항목을 볼 수 있습니다 (이전에는 한 줄에서 첫 번째 일치 항목 만 볼 수 있음)
  • -NotMatch : grep -vo와 동일
  • 인코딩 : 문자 인코딩을 지정합니다

나는이 기능을 만들 하도다 찾기 gcir위해를 Get-ChildItem -Recurse .제대로 매개 변수를 전달하는 스마트 기능과 함께, 및 별명 ss에 대한 Select-String. 그래서 당신은 쓰기 :

gcir * .txt | ss foo


3
grep -R equivilant의 예 : Get-ChildItem -recurse -include * .txt | Select-String -CaseSenstive "SomeString"
jslatts

6
PS에 도입 된 많은 기능을 정말 좋아하지만 왜 모든 명령이 평균 COBOL 프로그램보다 길어야합니까?
evilcandybag

3
@evilcandybag : 매개 변수 이름의 자동 완성을 포함한 훌륭한 자동 완성 덕분에 PowerShell 명령 줄을 빠르고 쉽게 입력 할 수 있으며 결과를 읽을 수 있습니다.
Jay Bazuzi

1
@jslatts : 또는 별명과 부분 매개 변수 이름을 사용할 수 있습니다.ls . *.txt -r| sls -ca "SomeString"
Rynant

1
기존 별칭 sls에 대한 Select-String정말 너무 오래?
Joey

23

정확히 'grep'범주에 속하지않지만 AgentRansack 이라는 유틸리티가 없으면 Windows에서 얻을 수 없었 습니다 . 정규식을 지원하는 GUI 기반의 "파일 찾기"유틸리티입니다. 폴더를 마우스 오른쪽 버튼으로 클릭하고 "ransack .."을 누르고 원하는 것을 포함하는 파일을 찾는 것은 간단합니다. 매우 빠릅니다.


불행히도 관련 줄에서 외부 텍스트 편집기를 열 수 없습니다.
Pawel Furmaniak

1
내가 사용해 본 최고의 grep 도구 인 Filelocator Pro라는 유료 버전을 사용해보십시오.
Ian Stanway 2018 년

Filelocator pro가 교체를 수행합니까?
alimack

인터페이스가 아주 좋았습니다. 교체합니까?
alimack

또한 그것은 이제 Filelocator lite라고 불립니다
alimack

19

Baregrep ( 맨손 도 좋음)


win7 64 비트에서 작동하지 않습니다; (
Daniel Magnusson

나는 그들이 지금까지 그것을 고쳤다 고 확신합니다. BareTail에 대한 나의 주요 불만 사항은 로그를 "필터링"하여 관련 선을 숨기거나 (색상이 아니라) 숨길 수 없다는 것입니다.
Ed Brannin

1
무료 버전 (BareTail)이 아닌 BareTailPro로 필터링하고 검색 할 수 있습니다.
Clay

나는 확신 그들이있어 하지 않은 이 2006 년 이후 업데이트되지 않았기 때문에, 지금이 확정
alldayremix

4
Windows 7 Pro 64bit에서 잘 작동합니다.
cb88

17

질문을한지 몇 년이 지났지 만 AstroGrep ( http://astrogrep.sourceforge.net )을 추천 합니다.

무료이며 오픈 소스이며 간단한 인터페이스가 있습니다. 코드를 항상 검색하는 데 사용합니다.


그러나 그것은 PDF로 검색되지 않습니다
JinSnow

16

PowerShell은 몇 번 언급되었습니다. 다음은 실제로 유쾌한 방식으로 사용하는 방법입니다.

Get-ChildItem -recurse -include *.txt | Select-String -CaseSensitive "SomeString"

대 / SomeString소문자를 구분 하여 현재 디렉토리 트리의 모든 텍스트 파일을 재귀 적으로 검색합니다 .

더 나은 방법으로 다음을 실행하십시오.

function pgrep { param([string]$search, [string]$inc) Get-ChildItem -recurse -include $inc | Select-String -CaseSensitive $search }

그런 다음 수행하십시오.

pgrep SomeStringToSearch *.txt

그런 다음 실제로 마술처럼 만들려면 PowerShell 별칭에 함수 별칭을 추가하면 적절한 명령 줄 도구가 없어서 거의 지루할 수 있습니다.





10

dnGREP 는 Windows 용 오픈 소스 그렙 도구입니다. 다음과 같은 여러 가지 멋진 기능을 지원합니다.

  • 교체 취소
  • 탐색기에서 폴더를 마우스 오른쪽 버튼으로 클릭하여 검색하는 기능
  • 발음 검색 및 xpath와 같은 고급 검색 옵션
  • PDF 파일, 아카이브 및 Word 문서 내에서 검색

IMHO, 그것은 훌륭하고 깨끗한 인터페이스를 가지고 있습니다 :)


1
나는 제안 된 grep 도구 중 상당수를 시도했지만 dnGrep이 승리합니다.
flobadob

pdf로 검색하지만 epub에서는 검색되지 않음
JinSnow

편집 : epub을 검색 할 수 있습니다. 다음과 같이 추가해야합니다 : github.com/dnGrep/dnGrep/issues/200
JinSnow

7

나는 항상 WinGREP을 사용 하지만 파일을 보내지 못하는 문제가있었습니다.


2
나는 몇 년 동안 wingrep을 사용해 왔지만 디렉토리 선택 상자가 너무 작다는 것을 제외하고는 훌륭하다
Cruachan

라이센스는 삼십일의 평가 후 비용을 지불 할 필요합니다.

그것은 많은 grep 도구가하지 않는 멋진 기능을 가지고 있습니다. 예를 들어 HTML 파일이없는 HTML 파일을 찾는 데 편리합니다.
Matthew Lock

그래도 WinGrep의 매우 성가신 기능을 발견했습니다. 일치하는 모든 파일에 대해 파일 잠금을 유지하는 것 같습니다. 따라서 Windows 탐색기에서 해당 파일 중 하나를 삭제하려고하면 WinGrep을 닫을 때까지 사용할 수 없습니다.
Matthew Lock

검색 결과에서 검색하여 목록을 더 좁힐 수 있다면 그것은 이상적인 도구입니다.
Shamil


7

나는 오랫동안 Win32GNU 유틸리티를 성공적으로 사용해 왔으며, grep뿐만 아니라 꼬리와 win32를위한 기타 편리한 gnu 유틸리티도 가지고있다. 패키지 셸을 피하고 win32 명령 프롬프트에서 바로 실행 파일을 사용합니다.

패키지로 제공되는 Tail은 아주 작은 응용 프로그램입니다.


6

저는 Aba Search and Replace 의 저자입니다 . PowerGREP와 마찬가지로 정규 표현식을 지원하여 추가 사용을위한 패턴 저장, 대체를위한 실행 취소, HTML / CSS / JS / PHP의 구문 강조 표시로 미리보기, UTF-8 및 UTF-16을 포함한 다양한 인코딩을 지원합니다.

PowerGREP와 비교할 때 GUI가 덜 복잡합니다. 패턴을 입력하는 동안 Aba는 즉시 검색을 시작 하므로 (증분 검색) 정규식을 실험하고 결과를 즉시 볼 수 있습니다.

내 도구를 사용해보십시오. 질문에 기꺼이 답변 해 드리겠습니다.


4

폴더를 마우스 오른쪽 버튼으로 클릭하고 nag 화면없이 모든 파일을 정규식으로 검색 할 수있는 Windows 용 무료 grep 도구가 필요했습니다.

다음은 findstr이전 게시물에서 언급 한 빠른 솔루션 입니다.

오래 사용하는 도구를 보관하는 하드 드라이브 어딘가에 텍스트 파일을 작성하십시오. .bat 또는 .cmd로 이름을 바꾸고 다음을 붙여 넣으십시오.

@echo off
set /p term="Search term> "
del %temp%\grepresult.txt
findstr /i /S /R /n /C:"%term%" "%~1\*.*" > "%temp%\grepresult.txt"
start notepad "%temp%\grepresult.txt"

그런 다음 SendTo 폴더로 이동하십시오. Windows 7 %APPDATA%\Microsoft\Windows\SendTo에서 배치 파일의 바로 가기를 찾아 해당 SendTo 폴더로 드래그하십시오.

1 GREPSendTo 목록의 맨 위에 유지하기 위해 바로 가기의 이름을 바꿨습니다 .

다음으로해야 할 일은 findstrhtml 파일을 생성하는 출력을 파이프로 연결하여 각 출력 줄을 클릭하여 해당 파일을 열 수 있다는 것입니다. 또한 폴더 바로 가기로 작동하지 않는다고 생각합니다. 매개 변수를 검사하고 ".lnk"가 포함되어 있는지 확인해야합니다.



3

나는 수년간 Borland의 grep을 사용했지만 그 패턴이 맞지 않는 패턴을 발견했습니다. 여덟. 몇 년 동안 발견되지 않은 것은 무엇입니까? grep과 같은 재귀를 수행하는 간단한 텍스트 검색 대체를 작성했습니다. 소스 포지의 FS.EXE입니다.

grep 실패 ...

C:\DEV>GREP GAAPRNTR \SOURCE\TPALIB\*.PRG
<no results>

윈도우 findstr 작동합니다 ...

C:\DEV>FINDSTR GAAPRNTR \SOURCE\TPALIB\*.PRG
\SOURCE\TPALIB\TPGAAUPD.PRG:ffSPOOL(cRPTFILE, MEM->GAAPRNTR, MEM->NETTYPE)
\SOURCE\TPALIB\TPPRINTR.PRG:    AADD(mPRINTER,   TPACONFG->GAAPRNTR)
\SOURCE\TPALIB\TPPRINTR.PRG:               IF TRIM(TPACONFG->GAAPRNTR) <> TRIM(mPRINTER[2])
\SOURCE\TPALIB\TPPRINTR.PRG:                   REPLACE TPACONFG->GAAPRNTR WITH mPRINTER[2]

3

내가 선택한 도구는 적절하게 명명 된 Windows Grep입니다 .

  • 좋은 간단한 GUI
  • 검색 및 교체 지원
  • 발견 된 선 주위에 선을 표시 할 수 있습니다
  • CSV 및 고정 너비 파일의 열 내에서 검색 가능

불행히도 나는 몇 년 동안 그것을 사용했습니다.
alimack

@alimack 네, 최근에 나 자신을 발견했습니다. 그러나이 도구는 여전히 Windows 7 이상에서 작동하며 CNET에서 다운로드 할 수 있습니다. 수치심, 그것은 꽤 멋진 도구였습니다.
John N

대체품을 찾고, PowerGREP 유망하지만 추악한 인터페이스 및 v 비싸다. grepWin을 시도했지만 뼈가 너무 크면 Filelocator가 텍스트를 대체하지 않는 것 같습니다. 제안을 환영합니다. 특히 교체하기 전에 결과를 보는 것과 같습니다.
alimack

2

PowerShell의 선택 문자열은 비슷하지만 옵션과 의미가 같지 않지만 여전히 강력합니다.


2

간단한 Windows Grep 도구를 사용하려면 웹 사이트 (www.adjutantit.com-홈 메뉴, 다운로드)에서 무료로 다운로드 할 수있는 P-Grep이라는 도구를 만들었습니다.

Windows Grep은 많은 수의 파일에 문제가있는 것처럼 보였으므로 더 신뢰할만한 것 같습니다. 폴더를 선택하고 마우스 오른쪽 버튼을 클릭하여 P-Grep으로 보낼 수 있습니다. sendto 폴더는 설치 중에 업데이트되지 않습니다.


2

또 다른 좋은 선택은 MSYS 입니다. 생산성을 높일 수있는 여러 가지 GNU 유틸리티를 제공합니다.


1

나는 수년간 매일 AJC Grep을 사용하고 있습니다. 내가 찾은 유일한 주요 제한 사항은 파일 경로가 255 자로 제한되어 있으며 경고를 발행하는 것이 아니라 파일 경로가 발생하면 중지한다는 것입니다. 성가 시지만 자주 발생하지는 않습니다.

64 비트 Windows 7 Ultimate에서 사용하므로 64 비트 자격 증명이 좋습니다.


1

Windows 용 GREP

나는 그것을 영원히 사용하고 다행히도 여전히 사용할 수 있습니다. 매우 빠르고 매우 작습니다.


GUI도 있습니까? 나는 명령 줄에서 그것을 사용하므로 결코 깨닫지 못했습니다.
bbrown

경기 전후에 줄을 표시하는 간단한 방법을 찾고 있었는데이 작업을 수행했습니다. 예를 들면 다음과 같습니다. 'netstat -anb | 그렙 -B1 (22)는 '포트 (22)를 듣고있는 프로그램을 알고
월 EHRHARDT에게

0

원하는 솔루션이 없다면 FindStr에 래퍼를 작성하여 정확히 필요한 것을 수행 할 수 있습니까?

어쨌든 FindStr은 꽤 좋으므로 GUI를 두드리고 (원하는 경우) 지정된 기능을 포함하는 파일 수를 찾기 위해 Find와 결합하는 것과 같은 몇 가지 추가 기능을 제공해야합니다 [위에서 언급].

물론 이것은 당신이 이것을하기위한 요구 사항, 시간 및 성향을 가지고 있다고 가정합니다!


0

나는이 Cygwin에서가 , 내 컴퓨터에 설치되어 내 환경 경로에 Cygwin에서 bin 디렉토리를 넣어 순간에 그렙에 대한 내 모든 스크립트의 요구를 해결하는 명령 줄에서 정상처럼 Cygwin에서 GREP 작품 때문에.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.