Windows 컴퓨터의 파일에서 텍스트 문자열을 검색하는 가장 빠르고 정확한 방법은 무엇입니까?


답변:


11

메모장 ++에는 '검색'메뉴에있는 '파일에서 찾기'옵션이 있습니다. 폴더에서 여러 파일을 검색하고 (폴더를 지정할 수 있음) 각 파일의 줄 번호도 표시합니다 . 하위 폴더와 숨겨진 폴더가 검색에 포함되는지 여부를 토글 할 수 있으며 \ t \ n 등으로 검색하고 필요한 경우 정규식으로 검색 할 수도 있습니다.

메모장 ++은 Windows 프로그래머 편집기 (IDE가 아님)이며 오픈 소스이기도합니다.

(내가 메모장 ++에 대해 들었을 가능성이 가장 높다는 것을 알고 있지만,이 특정 기능 을 알지 못했을 때 와 나중에이 스레드를 우연히 발견하는 다른 사람들을 위해 옵션으로 여기에 언급하고 있습니다 .

건배 :)


네, 인정해야합니다. 이전에 메모장 ++을 사용했습니다.
Jon Cage

1
@JonCage이 스레드 sevenforums.com/software/에 누군가 가 있습니다. 유용한 정보에 관해서는 "나는 인정합니다"라고 말하는 것처럼 말하고 있습니다. 그것은 매우 이상한 말하기 방법입니다. 그 사람을 만나고 싶을 수도 있습니다. 아마 당신의 쌍둥이 일 것입니다.
barlop 2016 년

메모장 ++는 훌륭합니다. SciTE와 같은 다른 프로그래머의 편집기도 비슷한 기능을 가지고 있습니다.
TimothyAWiseman 2016 년


5

Findstr항상 나를 위해 작동합니다. 검색 문자열에 * 와일드 카드 또는 정규식을 사용할 수 있습니다. Findstr /?이상


5

유닉스 시스템에서 사람들은 grep을 사용하여이 작업을 수행 할 가능성이 높습니다. 그렇다면 Windows Grep을 사용하지 않는 이유는 무엇입니까?

http://www.wingrep.com/


Windows Grep은 언젠가 불안정해질 수 있지만, 내가 사용한 것 중 가장 빠른 검색 프로그램입니다.
yakatz

@yakatz Windows Grep의 불안정성을 언급 해 주셔서 감사합니다. 다른 grep / replace 도구를 찾아 볼 것입니다!
pacoverflow

wingrep는 단종되었지만 grepwin 은 계속 사용할 수 있으며 매우 잘 작동합니다.
techturtle

3

Powershell 솔루션은 다음과 같습니다.

gci -r $SomePath -filter "*.cpp","*.h" | Select-String $FindThisString

-r에서이 gci같이 Recurse위한 것이며, 과정은 선택 사항으로, 같은 두 개의 파일 확장자 필터입니다. 의 유용한 매개 변수 Select-String입니다 -list만 대신 당신에게 파일 당 그것의 각각의 발생을주는, 파일에 일치의 첫 번째 인스턴스를보고있다.

일치하는 항목이있는 각 파일을 즉시 열고 싶습니까? 글쎄, 위의 작은 변경 사항은 기본 파일 연결이 무엇인지에 따라 매우 유용합니다.

gci -r $SomePath -filter "*.cpp","*.h" | Select-String $FindThisString -list | ii


나는 같은 것을 게시하려고했다 :)
Caleb Jares

당신은시겠습니까 -filter "*.cpp","*.h"다수의 확장을 허용합니까? 이것은 오히려 읽어야합니다-include ("*.cpp","*.hpp")
mloskot

2

일부 SW의 현지화를 수행하는 동안 DocFetcher 를 사용 하여 이전에 번역 된 파일에서 동일한 문자열을 검색합니다. 무료이며 오픈 소스이지만 먼저 인덱스를 만들어야합니다. 먹어봐. :-)


1

M $에서 제공 한 "문자열"을 사용하십시오 . 그들은 몇 년 전에 Sysinternals로부터 아주 좋은 유틸리티를 구입했습니다. 설치가 필요하지 않으므로 상자에 놓고 구문을 실행하십시오. 사용하기 쉽고 훌륭합니다!


1

grep유명한 거북이 svn 개발자에 의한 Windows의 또 다른 구현 :

grepWin


0

커맨드 라인이 마음에 든다면 / Linux를 사용하십시오. Windows 용 grep 버전을 설치하는 것이 좋습니다.

cygwin은이 문제 를 해결하기에 매우 편리한 방법이며 bash 쉘과 rxvt 터미널을 사용하여 완전한 Linux 환경을 제공합니다. 그렇지 않으면 도구를 원하면 gnuwin32가 있지만 Windows cmd.exe 프롬프트가 표시됩니다.

Microsoft는 실제로 자신의 Unix 도구 버전을 다운로드로 가지고 있지만 시도했을 때 gnu 포트에 비해 상당히 느리게 보입니다. 또한 Windows 8로 스크랩합니다.


0

Windows 레지스트리에서 텍스트 문자열을 검색하거나 Windows XP 컴퓨터에서 파일을 검색하는 방법입니다. c : 드라이브의 일반 텍스트 파일에서 "Enterprise"라는 문자열을 찾은 다음 c : \ windows \ temp의 search_result.txt라는 파일에 출력을 씁니다.

명령 프롬프트를 열고 다음을 입력하십시오.

findstr "엔터프라이즈"c : *. txt> c : \ windows \ temp \ search_result.txt

검색하는 문자열은 대소 문자를 구분합니다. "엔터프라이즈"와 "엔터프라이즈"는 동일한 문자열을 찾지 못합니다.

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