인덱싱없이 파일 내에서 문자열을 검색하는 도구 [닫기]


170

믿을 수 없을 정도로 오래된 레거시 응용 프로그램에서 일부 연결 문자열을 변경해야하며, 그것을 만든 프로그래머는 전체 응용 프로그램을 연결 문자열로 모든 장소에 석고로 칠하는 것이 좋습니다.

Visual Studio의 "현재 프로젝트"검색은 엄청나게 느리고 Windows 검색을 신뢰하지 않습니다.

그렇다면 색인없는 무료 무료 텍스트 검색 도구는 무엇입니까? 폴더와 하위 폴더 안에 원하는 문자열이 포함 된 파일이있는 목록을 반환하면됩니다.

Windows 2003 Server를 실행하고 있습니다.


010 Editor0 초 안에 huuuge 파일을 검색합니다.
Morteza Ziyae

Depeche View는이 페이지의 다른 모든 것을 이깁니다. 도움말 파일을 읽고 배우는 데 몇 분이 걸리는 몇 가지 단축키가 있습니다. stahlworks.com/dev/depeche-view.html
BVernon

나는 이것을 많이 사용하지만 오른쪽 창에서 일치하는 내용을 보려면 각 결과 파일을 클릭해야합니다. 또한 오른쪽 창의 파일 내용을 확대 / 축소 할 수 없습니다 (글꼴 크기가 너무 작습니다).
Meryan

이것은 소프트웨어 엔지니어링에는 좋은 질문이지만 SO에 대한 주제는 아닙니다. 어떤 SE 네트워크 사이트가 주제입니까? 예를 들어 '검색 코드베이스'에 대한 SE.SE 질문을 참조하십시오. 다시 열려면이 질문을 마이그레이션해야합니다!
smci

1
앱 스토어에서 File Content Finder를 살펴보십시오 (면책 조항-개발자입니다). 텍스트 / 소스 파일뿐만 아니라 pdf, doc (x), xls (x), 심지어 스캔 된 jpg / png 파일도 검색 할 수 있습니다 -microsoft.com/en-au/p/file-content-finder/9mzc4sk6j6bp
Geo Systems

답변:


60

원래 답변

Windows Grep 이이 작업을 잘 수행합니다.

편집 : Windows Grep은 더 이상 개발자가 유지 관리하거나 사용할 수 없습니다. 대체 다운로드 링크는 다음과 같습니다. Windows Grep-alternate

현재 답변

Visual Studio Code 는 파일 전체에서 뛰어난 검색 및 교체 기능을 제공합니다. 매우 빠르며 교체 전에 정규식 및 라이브 미리보기를 지원합니다.

여기에 이미지 설명을 입력하십시오



10
내 컴퓨터 (Windows 7)에서 두 번 충돌했습니다. 나는 다른 것을 시도 할 것이다.
B. Clay Shannon

2
그것은 낡았 고 나도 추락했다. 비록 일부 목표에 적합하지 않더라도 grepWin이 더 좋습니다
Paolo

9
AstroGrep가 빠릅니다 그리고 더-istall 없다
Zorb

Windows 7에서 나를 위해 잘 작동했습니다
w5m

364

Notepad ++Find-In-Files 대화 상자 의 팬입니다 . 보너스 : 무료입니다.

여기에 이미지 설명을 입력하십시오


불행히도 모든 Microsoft Word 파일을 검색 할 수 없거나 검색 할 수 없습니다. ".doc"와 ".docm"의 차이점에 대해 생각합니다
Carl Witthoft

11
@CarlWitthoft은 .docm같은 .docx, .xlsm그리고 .xlsx실제로 압축 된 XML 문서입니다.
Ian Boyd

1
최소한 파일이있는 작은 폴더에는 잘 작동하고 적어도 랩톱을 사용할 때 많은 파일 폴더가있는 큰 폴더에는 응답하지 않습니다. 강력한 PC를 사용할 때 조금 더 빠릅니다. 또한 검색하는 동안 다른 파일을 열 수 없습니다.
Mohammed Joraid

내 텍스트를 찾았습니다. 그러나 대체 할 값과 유지할 값을 결과에서 선택할 수 없었습니다. 전부 아니면 아무것도?
ofer.sheffer

5
메모장 ++의 옵션조차도 몰랐습니다. 누락 된 파일을 찾기위한 훌륭한 솔루션! 그러나 큰 파일 크기에 문제가있는 것 같습니다. 때때로 "파일을 열기에 너무 큼"오류가 발생합니다.
John August

167

findstr.exe파일 내에서 검색 할 수 있는 Windows 기본 제공 프로그램도 있습니다.

>findstr /s "provider=sqloledb" *.cs

3
간단하고 효율적입니다!
Markus Fantone

이것은 Windows 탐색기보다 훨씬 빠르며 실제로 검색하는 텍스트를 찾았지만 Windows 탐색기를 사용하면 검색 결과가 나오지 않았습니다. 감사.
mbomb007

1
나를 위해, 당신은 아무것도 설치할 필요가 없기 때문에이 주제에 대한 가장 좋은 대답. 내 경우에는 너무 많은 정보가 화면에 나타나기 때문에 몇 가지 인수를 추가하는 것을 보완해야했습니다. / M 인수는 내가 찾은 정보가있는 파일 이름 만 나열합니다. findstr 명령의 매뉴얼에 액세스하려면 "findstr /?"를 입력하십시오. 콘솔에서.
Alexandre Ribeiro

이것은 훌륭한 유틸리티이지만 파일 이름의 키릴 문자를 읽을 수없는 것 같습니다. 예를 들면 :FINDSTR: Cannot open ???????????.txt
아르 템 Russakovskii

1
findstr은 UTF16 텍스트를 지원하지 않습니다.
David Bremner

34

나는 AstroGrep을 좋아합니다. 결과가 목록에 표시됩니다. 행을 클릭하면 적중을 강조하는 미리보기로 전체 라인이 표시됩니다. 그것은 매우 빠르고, 마른 것처럼 보이고 무료입니다. Windows 7, 8, 10 및 Windows Server 2008 R2에서 테스트되었습니다. 정규식을 허용합니다.

최신 AstroGrep 스크린 샷

AstroGrep은 Microsoft Windows GUI 파일 검색 (grep) 유틸리티입니다. 이 기능에는 정규식, 다양한 인쇄 옵션, 가장 최근에 사용한 경로 저장 및 "컨텍스트"기능이있어 소스 코드를 보는 데 매우 유용합니다.

참조 : AstroGrep


7
여기에 나열된 다른 모든 것 중에서 폴더에 대한 제외 패턴을 지정할 수있는 유일한 방법입니다. node_modules또는 과 같은 폴더를 건너 뛰려고 할 때 매우 유용 bower_components합니다.
Mr.

1
매우
유용한

1
그리고 '빠른'은 두 번째 언급이 필요합니다 ...self == happy
cssyphus

9

폴더에서 Visual Studio의 검색은 내가 찾은 것 중 가장 빠릅니다.

지능적으로 텍스트 (이진이 아닌) 파일 만 검색하고 다른 도구와 달리 동일한 폴더의 후속 검색은 매우 빠릅니다 (텍스트 파일이 Windows 디스크 캐시에 적합 할 수 있음).

SSD가없는 일반 하드 드라이브의 VS2010은 26k 파일, 소스 코드 및 바이너리가 혼합 된 20GB 폴더를 검색하는 데 1 분이 걸립니다. 15k 파일이 검색됩니다. 이진 파일로 인해 나머지는 건너 뛸 수 있습니다. 동일한 폴더의 후속 검색은 몇 초 정도입니다 (캐시에서 항목이 제거 될 때까지).

같은 폴더에서 찾은 다음으로 가장 가까운 것은 grepWin입니다. 약 3 분 2000KB보다 큰 파일을 제외했습니다 (기본값). "이진 파일 포함"설정은 검색 속도를 높이는 데 아무런 영향을 미치지 않는 것 같습니다. 이진 파일이 여전히 닿아있는 것처럼 보이지만 (버그?) 검색 결과에 표시되지 않습니다. 후속 검색은 모두 동일한 3 분이 소요되며 하드 드라이브 캐시를 이용할 수 없습니다. 200k보다 작은 파일로 제한하면 초기 검색은 2.5 분이며 후속 검색은 캐시에서 약 VS 정도의 속도로 몇 초 정도 걸립니다.

Ransack 요원과 FileSeek는 거대한 멀티 기가 바이트 이진 파일을 포함하여 모든 것을 검색하기 때문에 약 20 분 정도 폴더에서 매우 느립니다. 리소스 모니터에 따라 초당 약 10-20MB로 검색합니다.

업데이트 : Agent Ransack은 특정 크기의 파일을 검색하도록 설정할 수 있으며 <200KB 컷오프를 사용하면 새로 검색하는 데 1 분 15 분, 후속 검색에 5 분이 걸립니다. grepWin보다 빠르며 전반적으로 VS만큼 빠릅니다. 여러 검색을 탭으로 유지하고 최근에 검색 한 VS 폴더 목록을 오염시키지 않고 VS가 원하지 않는 바이너리 검색 기능을 유지하려는 경우 실제로 매우 좋습니다. 상담원 Ransack은 탐색기 상황에 맞는 메뉴 항목도 만들므로 폴더에서 쉽게 시작할 수 있습니다. grepWin과 동일하지만 UI가 좋고 빠릅니다.

나의 새로운 검색 설정은 내용을위한 Agent Ransack과 파일 이름을위한 모든 것 (굉장한 도구, 즉각적인 결과!)입니다.


3

타사 도구를 설치하지 않으려면 Microsoft Sysinternals에서 STRINGS.EXE다운로드 하고 다음과 같이 절차를 수행하십시오.

@echo off
if '%1' == '' goto NOPARAM
if '%2' == '' goto NOPARAM
if not exist %1 goto NOFOLDER

echo ------------------------------------------
echo - %1 : folder
echo - %2 : string to be searched in the folder
echo - PLEASE WAIT FOR THE RESULTS ...
strings -s %1\* | findstr /i %2 > grep.txt
notepad.exe grep.txt

goto END

:NOPARAM rem - input command not correct
echo ====================================
echo Usage of GREP.CMD:
echo   Grep "SearchFolder" SearchString
echo Please specify all parameters
echo ====================================
goto END

:NOFOLDER
echo Folder %1 does not exist
goto END

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