Cách nhanh nhất (chính xác) để tìm kiếm một chuỗi văn bản trong các tệp trên máy tính windows là gì?


Câu trả lời:


11

Notepad ++ có tùy chọn 'find in files', nằm trong menu 'Search' .. Điều này sẽ cho phép bạn tìm kiếm nhiều tệp trong một thư mục (bạn có thể chỉ định thư mục) và cũng sẽ hiển thị cho bạn số dòng của mỗi tệp. . Bạn có thể chuyển đổi xem các thư mục con và thư mục ẩn có được bao gồm trong tìm kiếm hay không và nó cũng sẽ cho phép bạn tìm kiếm với \ t \ n, v.v. và tìm kiếm với các biểu thức thông thường nếu bạn cần.

Notepad ++ là trình soạn thảo lập trình Windows (không phải IDE) và cũng là Nguồn mở.

(Tôi nhận ra rằng bạn rất có thể đã nghe nói về notepad ++, nhưng tôi chỉ đề cập đến nó ở đây như là một tùy chọn trong trường hợp bạn không biết về tính năng đặc biệt này và cho những người khác vấp phải chủ đề này sau này.

Chúc mừng :)


Vâng, tôi phải thừa nhận, tôi đã sử dụng Notepad ++ cho việc này trước đây.
Jon Lồng

1
@JonCage có ai đó trong chủ đề này sevenforums.com/software/ , cũng nói như bạn nói "Tôi thừa nhận" khi nói đến những điều hữu ích. Đó là một cách nói cực kỳ kỳ quặc. Bạn có thể muốn gặp người đó. Có lẽ là sinh đôi của bạn.
barlop

Notepad ++ thật tuyệt. Các biên tập viên lập trình viên khác như SciTE cũng có chức năng tương tự.
TimothyAWiseman


5

Findstrluôn luôn làm việc cho tôi Nó có thể sử dụng văn bản * ký tự đại diện hoặc regex cho chuỗi tìm kiếm. Findstr /?để biết thêm


5

Trên các hệ thống Unix mọi người rất có thể sẽ sử dụng grep để làm điều này, vậy tại sao không sử dụng Windows Grep?

http://www.wingrep.com/


Windows Grep đôi khi có thể trở nên không ổn định, nhưng nó là chương trình tìm kiếm nhanh nhất tôi từng sử dụng.
yakatz

@yakatz Cảm ơn bạn đã đề cập đến sự bất ổn có thể xảy ra với Windows Grep, tôi sẽ tìm kiếm một công cụ grep / thay thế khác!
pacoverflow

wingrep bị ngưng, tuy nhiên grepwin vẫn có sẵn và hoạt động rất tốt.
techturtle

3

Đây là một giải pháp Powershell:

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

Phần -rin gcilà để lặp lại, và tất nhiên là tùy chọn, cũng như hai bộ lọc mở rộng tệp. Một tham số hữu ích Select-String-listsẽ chỉ báo cáo phiên bản đầu tiên của trận đấu trong một tệp, thay vì cung cấp cho bạn mỗi lần xuất hiện của nó trên mỗi tệp.

Có lẽ bạn muốn mở ngay lập tức từng tệp nơi tìm thấy kết quả khớp? Chà, thay đổi nhỏ sau đây ở trên khá hữu ích, tùy thuộc vào những gì bạn có liên kết tệp mặc định của mình là:

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


Tôi chuẩn bị đăng bài tương tự :)
Caleb Jares

Bạn có chắc chắn -filter "*.cpp","*.h"chấp nhận nhiều phần mở rộng? Điều này nên đọc-include ("*.cpp","*.hpp")
mloskot

2

trong khi thực hiện bản địa hóa một số SW, tôi sử dụng DocFetcher để tìm kiếm các chuỗi tương tự trong các tệp được dịch trước đó. Nó là nguồn mở và miễn phí, nhưng cần tạo chỉ mục trước. Hãy thử nó. :-)


1

Sử dụng "chuỗi" được cung cấp bởi M $ . Họ đã mua một số tiện ích rất tốt từ Sysiternals vài năm trước. Không yêu cầu cài đặt, chỉ cần thả nó vào hộp và chạy theo cú pháp. Dễ sử dụng và TUYỆT VỜI!


1

Một greptriển khai khác cho Windows bởi các nhà phát triển svn rùa nổi tiếng:

grepWin


0

Nếu bạn hài lòng với dòng lệnh / với Linux. Tôi có thể đề nghị xem xét việc cài đặt phiên bản grep cho windows không?

cygwin là một cách khá tiện lợi để hiểu về điều đó và sẽ cung cấp cho bạn một môi trường Linux đầy đủ, với bash shell và thiết bị đầu cuối rxvt. Mặt khác, nếu bạn chỉ muốn các công cụ có gnuwin32 nhưng sau đó bạn sẽ bị kẹt với dấu nhắc cmd.exe của Windows.

Microsoft thực sự có phiên bản riêng của các công cụ Unix dưới dạng tải xuống, nhưng chúng có vẻ khá chậm so với các cổng gnu khi tôi dùng thử. Họ cũng sẽ loại bỏ chúng bằng Windows 8.


0

Đây là cách tôi tìm kiếm các chuỗi văn bản trong Windows Registry hoặc các tệp trên máy Windows XP của mình. Giả sử tôi muốn tìm chuỗi "Enterprise" trong tệp văn bản thuần trên ổ đĩa c: sau đó ghi đầu ra vào tệp có tên search_result.txt trong c: \ windows \ temp

Mở một dấu nhắc lệnh sau đó gõ:

findstr "Doanh nghiệp" c: *. txt> c: \ windows \ temp \ search_result.txt

Chuỗi bạn tìm kiếm là trường hợp nhạy cảm. "Doanh nghiệp" và "doanh nghiệp" sẽ không tìm thấy cùng một chuỗi.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.