답변:
(나는 여전히 PowerGREP 의 팬 이지만 더 이상 사용하지 않습니다.)
이미 언급했지만 PowerGREP은 대단 합니다.
내가 좋아하는 기능 중 일부는 다음과 같습니다.
이제 다른 grep 도구가 위의 모든 작업을 수행 할 수 있음을 알고 있습니다. PowerGREP은 모든 기능을 사용하기 매우 쉬운 GUI로 패키지화합니다.
당신에게 RegexBuddy 를 가져 왔고 자신의 물건을 사랑하는 것 이상으로 관계가없는 훌륭한 사람들로부터 . (RegexBuddy에는 기본 버전의 grep (Windows 용) 자체가 포함되어 있으며 PowerGREP보다 훨씬 저렴합니다.)
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 *
GrepWin 무료 및 오픈 소스 (GPL)
나는 tortoisesvn 녀석 중 한 명이 작성한 grepWin을 사용하고 있습니다. Windows에서 작업을 수행합니까?
2013 년 7 월 업데이트 :
Windows에서 항상 사용하는 또 다른 grep 도구는 AstroGrep입니다 .
줄 검색 (즉, 명령 줄 grep의 --context = NUM) 이상을 보여주는 기능은 매우 중요합니다.
그리고 빠릅니다. SSD 드라이브 가 아닌 오래된 컴퓨터에서도 매우 빠릅니다 ( 플래터 라고 불리는 회전하는 디스크 로이 하드 드라이브를 사용 했습니까?
공짜 야.
휴대 가능합니다 (압축 풀기위한 간단한 zip 아카이브).
원문 2008 년 10 월
그누 그렙 은 괜찮아
예를 들어 여기에서 다운로드 할 수 있습니다. ( site ftp )
모든 일반적인 옵션 이 여기에 있습니다.
gawk 및 xargs ( GnuWin32의 'find'포함) 와 결합 하면 Unix에서와 마찬가지로 스크립트 할 수 있습니다!
재귀 적으로 grep하기 위해 사용 하는 옵션 도 참조하십시오 .
grep --include "*.xxx" -nRHI "my Text to grep" *
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
ls . *.txt -r| sls -ca "SomeString"
sls
에 대한 Select-String
정말 너무 오래?
정확히 'grep'범주에 속하지 는 않지만 AgentRansack 이라는 유틸리티가 없으면 Windows에서 얻을 수 없었 습니다 . 정규식을 지원하는 GUI 기반의 "파일 찾기"유틸리티입니다. 폴더를 마우스 오른쪽 버튼으로 클릭하고 "ransack .."을 누르고 원하는 것을 포함하는 파일을 찾는 것은 간단합니다. 매우 빠릅니다.
질문을한지 몇 년이 지났지 만 AstroGrep ( http://astrogrep.sourceforge.net )을 추천 합니다.
무료이며 오픈 소스이며 간단한 인터페이스가 있습니다. 코드를 항상 검색하는 데 사용합니다.
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 별칭에 함수 별칭을 추가하면 적절한 명령 줄 도구가 없어서 거의 지루할 수 있습니다.
Cygwin에는 grep이 포함되어 있습니다. Cygwin을 설치하면 모든 GNU 도구 amd Unix가 Windows에서 잘 작동합니다.
ack 은 Windows에서 잘 작동합니다 ( Perl이있는 경우 ). 나는 많은 용도로 grep보다 더 낫다는 것을 알았습니다.
Windows의 Git = cmd.exe의 grep
방금 Git 을 설치 하면 cat, grep, scp 및 기타 좋은 명령과 같은 기본적인 Linux 명령이 제공됩니다.
Git bin 폴더를 설치하고 PATH에 추가하면 cmd.exe에 기본 Linux 기능이 있습니다!
dnGREP 는 Windows 용 오픈 소스 그렙 도구입니다. 다음과 같은 여러 가지 멋진 기능을 지원합니다.
IMHO, 그것은 훌륭하고 깨끗한 인터페이스를 가지고 있습니다 :)
나는 항상 WinGREP을 사용 하지만 파일을 보내지 못하는 문제가있었습니다.
글쎄, GNU grep의 Windows 포트 옆에 :
http://gnuwin32.sourceforge.net/
프리웨어 Borland의 Free C ++ Compiler (명령 줄 도구가 포함 된 프리웨어)에는 Borland의 grep (GNU와 매우 유사)이 있습니다.
저는 Aba Search and Replace 의 저자입니다 . PowerGREP와 마찬가지로 정규 표현식을 지원하여 추가 사용을위한 패턴 저장, 대체를위한 실행 취소, HTML / CSS / JS / PHP의 구문 강조 표시로 미리보기, UTF-8 및 UTF-16을 포함한 다양한 인코딩을 지원합니다.
PowerGREP와 비교할 때 GUI가 덜 복잡합니다. 패턴을 입력하는 동안 Aba는 즉시 검색을 시작 하므로 (증분 검색) 정규식을 실험하고 결과를 즉시 볼 수 있습니다.
내 도구를 사용해보십시오. 질문에 기꺼이 답변 해 드리겠습니다.
폴더를 마우스 오른쪽 버튼으로 클릭하고 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 GREP
SendTo 목록의 맨 위에 유지하기 위해 바로 가기의 이름을 바꿨습니다 .
다음으로해야 할 일은 findstr
html 파일을 생성하는 출력을 파이프로 연결하여 각 출력 줄을 클릭하여 해당 파일을 열 수 있다는 것입니다. 또한 폴더 바로 가기로 작동하지 않는다고 생각합니다. 매개 변수를 검사하고 ".lnk"가 포함되어 있는지 확인해야합니다.
나는 수년간 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]
내가 선택한 도구는 적절하게 명명 된 Windows Grep입니다 .
나는 그것을 영원히 사용하고 다행히도 여전히 사용할 수 있습니다. 매우 빠르고 매우 작습니다.
나는이 Cygwin에서가 , 내 컴퓨터에 설치되어 내 환경 경로에 Cygwin에서 bin 디렉토리를 넣어 순간에 그렙에 대한 내 모든 스크립트의 요구를 해결하는 명령 줄에서 정상처럼 Cygwin에서 GREP 작품 때문에.